Hi! Steve's exposition is applaudable, but I think he makes a fundamental mistake in his demonstration. He starts from nouns and verbs, and the role each play...
Several of our projects will be .Net clients(windows & web applications) vs. J2EE back end via web services. We certainly will have a complete layered...
AppleScript is an object-oriented language where the "nouns" (objects/classes) and "verbs" (commands) are implemented (and documented) separately... with a...
I am developing a similar architecture with a .NET front end and a Java backend. I have gone down the path of using data transfer objects fairly successfully...
An alternative approach would be placing your domain objects on the client only (as the application needs to work in disconnected mode). In this case you can...
I prefer to think in terms of stories, which are sentences in a language. And in a sentence, you have a subject that does something (verb) with an object. I...
Oh, and one more thing. In another example of how verbs are inferior to nouns in the kingdom of Sun God, Steve shows this: ToothBrusher(myTeeth).go(). Yes,...
... Yes. I'm also interested in how J# fits in the big picture. How do you manage the DTOs? In our previous project, the number of DTOs just exploded and...
... <vlad@...> wrote: Hm... We will have both rich and thin clients. The approach you suggested works for rich clients. For the thin clients, domain objects ...
We can choose any language we see fit for our purpose, and perhaps OOP is today what Newton physics was once. Perhaps a new revolutionary way of programming...
... I think duplicating domain logic and, as a consequence, domain state, is not a good solution. I agree with Tony's solution, but I don't know how it could...
There's probably no solution that's going to work well for thin, thick, fat client, and disconnected mode. They all have different characteristics that require...
J# is just a means to compile Java code into a dll that will run on the CLR. It prevents us from having to manually recode everything in C#. The only problem...
Hi, I have seen a lot of online about business rules implementation, although they all seems to be right, they contradict each other and i ended fustrated...
Try this (inspired by Streamlined Object Modeling, a must-read, IMHO). Note discussion following regarding whether Employee should extend Person. public class...
Streamlined Object Modeling, great book, but your test and do methods need to be public or internal, not protected, as their purpose is to allow bypassing...
According to the C# docs: "By combining the protected and internal keywords, a class member can be marked protected internal — only derived types or types...
If you recall from the book, everything was public, and needs to be, they did access control with interfaces, and for good reason. There are many many times...
I might also point out that I'm a huge Smalltalk fan, and love that the examples in the book are in Squeak as well as Java, which clearly shows just how...
I missed the fact that you needed both flavors of clients, sorry. In such case creating proxies for the relevant domain objects/application services as Tony...
... I didn't read that book and controlling access through interfaces seems interesting. However, I disagree with you when saying that you need to separate ...
Thanks guys for your comments, i get from your post that the code that checks rules should be placed in the setter right?. ... That sound like Specifications a...
I didn't read the book either but I agree with Sergio in that I want my business rules explicitly defined in my business entities. I don't know the reasoning...
... No, you didn't grok what I was saying, of course you don't have to call test and do, that's done behind the scenes whenever you set a property. Test and do...
... This is obvious. ... It is just this, permitting to bypass business rules ... It is IMHO a bad practice. However, as said by Bill, I haven't ever read that...
... I believe the main reason cited by the book is to allow infrastructure code to call setters without triggering business rules. e.g. object relational ...
... First, read the book before criticizing the techniques, it's not bad practice, in fact it's fantastically well thought out and I think a great companion to...
... Ramon, please don't be hurt for words I said declaring my ignorance of the book. Please, read again my post: my comments were totally humble and referred...