Until recently, whenever I was thinking about coding something, I was mainly concerned with the implementation side of it, the how. But slowly, as the how becomes somewhat less of a difficulty I start to think more about the way the different objects should look and interact with each other. Without being too concerned about the exact way things have to be coded to work.
So what are you guys doing/using, in a practical sense, to develop your domain models?
Do you just start coding classes and writing methods and see how things develop? Do you sketch stuff on pieces of paper? UML diagrams in a software program? Cleaning up my desk I discovered a pack of small cards used for note taking and was thinking they would be very useful to sketch my domain models on. It's easy to write things down, move around the cards, have a good overview of all models and method names, etc. Much easier then looking at a small screen in a text editor and switching between different screens anyway. So each card would look something like:
Code: Select all
Article
- name
- title
- author
+ insert
+ update
+ findBy
etc
The reason I'm interested in the methodologies being used is that from my experience so far that as soon as you have a certain amount of classes written, it becomes much harder to keep a good overview of everything. Method names might not be consistent anymore, some code is repeated in more places, etc. On the other hand, if method names are consistent, classes are clear in their responsibility, coding suddenly becomes a lot easier