What are the steps that you follow when approaching a problem statement, which needs to be converted in to a OO design. I do know the approach might be subjective depending on the problem and varying for each but I am sure there must be some basic generic steps that each good designer will follow while breaking down a problem statement in to objects and classes and further to a much concrete design.
Just trying to put up lets say a procedure to follow for new bee designer wannabe’s like me.
What are the steps that you follow when approaching a problem statement, which needs
Share
I would suggest following steps.
1. Write use case. It will help you to understand problem, it should contain basic execution flow (correct path) and alternate paths.
2. Do linguistic analysis and find out class and methods. (This is optional if you know any other good method then use it.)
3. Use SOLID principal for designing your classes.
4. Keep encapsulation, inheritance, polymorphism in mind. If you can’t remember them write it on paper or stick it on your desk.
5. One more thing you should keep in mind “What varies encapsulate it”.
6. Use design patterns when they are required. Don’t enforce design pattern to your code. Try to map your design problem to any design pattern.
I would also suggest “Head First OOAD” book. It is very good book for leaning OOAD.