Have been thinking about how to get the extensibility rite in my application ..
Scenario -->
1) something as simple as a Customer ( Name, ID, Address) creation use case ..
I have designed it with something very similar to Model 2 Front Controller
pattern as mentioned in
http://www.javaranch.com journal.
So potentially I have components like given below:
CustomerCreation.jsp --> CustomerCreationCommand.java -->ServiceLocator.java -->CustomerCreationDomain.java --> CustomerDAO.java
Across all this layer is passed a VO called CustomerVO.java
I have about 4 layers namely UI , Commands , Service (Domain) & Data Access Layer.
If there is a requirement change in the Usecase which is like adding another 2 fields ( say Phone Number & Marital Status), I need to change all the layer
1) Change in Table
2) Change in DAO
3) Change in VO
4) Change in Command
5) Change in Domain
Is there a way out if this change?