I have a minor minor domain model implemenetation detail that's been nagging me a bit. It's really more of a naming issue than any thing else. If I understand...
... I dislike "Helpers". They're procedural and the more of them I have, the less easily I see other opportunities to refactor. What if you called them query...
A big part of the point is that conceptual modeling and implementations decisions are not independent of each other and should not be overly separated. But...
... This is a great summary of the benefits of repositories. I agree with J.B. about "helpers". Some of those other naming schemes amount to about the same...
see end ... implementations ... overly ... a little ... juggling ... characteristics that ... pattern says is ... these two, ... domain, and ... issues. ... ...
... I think the typical ramp will take place... bleeding edge systems may show up late 2004, expensive systems in 2005, affordable high end systems in 2006,...
D3 fans of all platforms may enjoy viewing this session from the MSFT PDC on the MBF, er, Microsoft Business Framework. (Whether you can *view* it on all...
... I can't see the difference from today's hibernating capacility. You will still need to reboot your machine once in a while, unless programmers learn to...
Squeak Smalltalk still has live objects in its image that were alive in 1980... there's a lot of experience in run-time surgery there. For that reason,...
... Yes, we will rethink everything. As Keith points out, we'll draw on Smalltalk for inspiration for things like run-time updates. I think we'll also, in...
... "The Behavior of Behavior" comes to mind - a presentation by Dave Smith that includes a section called "Modifying Behavior and Surviving" :) I first saw...
... changed. ... 2009... Just 5 years from now... I'd better get prepared... Hope they have some object browser. I hate those hex editors. But what the heck,...
... I understand your jesting. This is the kind of thing enjoyed mostly by people who like these kinds of things. 8^) ... Unless you're jesting some more, I'd...
Patrick, ... by ... Sorry for being a little sarcastic. I think the idea of a run-time image is interesting. It is like a snapshot of a small universe of ...
... Some of the issues I'm reading about with persistence (here for example: <http://crazybob.org/roller/page/crazybob>) go away with images -- when the...
... If you were implementing persistence after you had 250+ classes in hand to persist, it might be beyond what would be practical to implement by hand. ...
Jeffrey, Thanks. ... Before realizing that I needed an Object-Persistence Framework for the project, I actually dipped my toes and wrote a couple of repository...
Domain Question: Do you care if your working with a copy or the original? If no, it's a Value Object (excluding Service, Policy, Factory ane Repository). If...
... Yes, that is a useful rule of thumb. That gives you a good clue where it belongs. Beyond that, the esence of the two patterns is the kind of concept you...
By the way Eric, I am teaching a five day workshop on Object Oriented Design and Patterns. I have found your domain-centric patterns so useful, they are now a...
... Who says they have to be hand-made? In larger systems, the O-R mapping and querying capabilities should be built on rich frameworks with appropriate use of...
Lets say I have a "User" entity. This entity has only "userId" and "roleId" attributes. The "role" attribute corresponds to a list of roles in a database...
You'd have User and Role classes in Java (or other OOPL). Both would have "id" instance variables. Role would have a "value" instance variable. It sounds...
Randy, Your explanation makes sense. I am still having trouble determining when something is an entity or a value object. Is Role really a Value Object even...
... Does Role /need/ an ID? I am imagining a two-column table (id, name), and wondering why not just use 'name' as the PK for the ROLE table? I have worked on...
I don't have much to add to Randy's explanation. But the entity/value distinction is not just a matter of whether there is an id field in the database. In this...
I think the key question (that distinguishes whether Role is an Entity or a Value Object) is whether you ever expect anything about the role to *change*. For...
Thanks, I appreciate the explanation. How is this distinction transferred into your code? Do you use some sort of Naming convention to mark Value Objects from...