Thank you, Zang - I tend to agree. Fortunately we're pretty uptight and unimaginative here so the project name happens to also be exactly what the code is...
Thanks, Randy. c2.com is usually one of my first stops for a question like this but for some reason I hadn't ventured over there yet. It's funny, one of the...
Thanks, Jim. I'd like to probe further into your structure. Let's say you have a well-factored domain package with, as you explained, "horizontal" packages...
... I would assume you might use the binary dependency on the whatever framework packaged in the jar archive, e.g. don't include the source from 3-rd party...
Matt, The UI and persistence frameworks are different subjects or domains. I would factor them into completely different projects which are then reused to...
Hi, I am currently working with the packaging of a large software project. My opinion is that the horizontal (business) dimension is more important than the...
I'm thinking about different 'population' methods of a domain object as from a repository. Say, you have a CustomerRepository, that has a method GetCustomer(...
How about using Hibernate or any OR-mapping mechanism under the hood of Repository to create business object/domain objects and dirty checking already taken...
The first thing I do is separate the "population" (i.e. object relational mapping) mechanism from the repository itself, which is where my business logic...
It is fine to do that, but there may be two caveats: 1. If you have a business operation that spans MVC actions, then you must ensure that there is a ...
First of all, see http://c2.com/cgi/wiki?WhatsaControllerAnyway and http://c2.com/cgi/wiki?ModelModelViewController. These days, when people say "controller"...
Hi, thanks for the answers. Concerning the O/R-M tools: this might be a solution, however, I'd like to think about this without having one specific (or one at...
... been populated by the repository (or, in your case, by the Dao). What's your idea on that ? I think if you're not likely to change your ORM strategy, then...
I think that, changing your ORM strategy, or using another ORM mapper whithin the same project, is something that is not likely to occur. In fact, this would...
Hi From a DDD perspective "how do you show that your are only returning a partially inflated aggregate and how do you convey what part or parts of the ...
Hi Shane, I have been fighting this same issue as well. It's an issue at the getter side of the house as you have indicated, but also (perhaps even more so) at...
Hey, I'm trying to use DDD in the most academic way. Therefore i want my value objects to be truly immutable (no setters on it). My problem is that some of...
For your first problem, you'll need a hidden initialization protocol. For your second problem, I don't understand what's wrong with building large value...
Hi, I think it work fine having constructors with many parameters, and I often use it when writing code. However, I strongly recommend strong typing of the...
Thank you Thomas for your usefull thoughs. I agree that strongly typed solution are is much better, but i never went as far as you in writting so fine grained...
Hi, At page 178, there's a Handling Event Repository which hold an operation with the following signature : findByCargoTrackingId(String). I don't find this...
Hi, First of all thanks for this incredible book! This is my first post, so here we go. After reading chapter 7, I've tried refactoring a software's domain ...
Hi Thiago, all, Could you please expand on: There is a requirement at the software that an entity might "change it's type" in it's life cycle. I would be...
... Yes, that is the exciting question here. I'd like to rephrase the question: When the object changes type, does its interface change? Do youhave a situation...
What do you mean by change its type? If it is like roles, i.e. a Person can be a Bank Employee, Customer, Guarantor, Debtor in parallel, you can use role...
Hi! Thanks for you reply. I thought on use this Role object but I dropped this idea. As it would be difficult to me explain why by e-mail, let me give you the ...
Hi, Sorry, the Role pattern you presented me is the decorator pattern. Sorry for that. Well, so i'll just rename PersonDecorator to PersonRole :). Thanks! ...
Hi, I think findByCargo(Cargo cargo) is a little more object oriented - if I try to be as theoretical as I can... But in real life, I don't see the difference!...