I agree that consistency is important, and also this is the real problem.
There is no perfect architecture.
Needs evolve.
So consistency is a force, but architecture evolution (pushed by new features, for example) is an opposite force.
Balancing the two is not easy, and often if you do not have time, you are forced to drop your strong principles.
Let me do a simple example.
Imagine a Struts2 GUI.
One day your boss ask you to do upgrade it to fancy AJAX.
It is possible, for sure, but it can require a lot of effort, and finding the right solution is not easy,
Balancing the two is not easy, and often if you do not have time, you are forced to drop your strong principles.
Let me do a simple example.
Imagine a Struts2 GUI. One day your boss ask you to do upgrade it to fancy AJAX. It is possible, for sure, but it can require a lot of effort, and finding the right solution is not easy,