Are today's major frameworks capable of enterprise capable applications?

What a useless definition! Every programmer I know considers a “separate concern” and a “single responsibility” to mean exactly the same thing. How are they different?

[quote=“s_molinari, post:399, topic:114913”]
your monster class breaks both definitions. Your own description of what it does points this out.

If you read Robert C. Martin’s article at http://blog.8thlight.com/uncle-bob/2014/05/01/Design-Damage.html you will see the following:

My framework implements the 3 Tier Architecture which has all the GUI code in the Presentation layer, all the business rules in the Business layer, and all the database code in the Data Access layer. This mirrors EXACTLY what Uncle Bob describes in his article, so who the hell are you to tell me that my interpretation of his article is wrong!

It should also be obvious to anyone with any programming experience that objects in the Business layer absolutely MUST contain code for the following:
(a) Methods which allow it to be called by the layer above it.
(b) Methods which allow it to call the layer below it.

So when you say that the existence of such methods in my abstract class provides a “reason for change” and are therefore a candidate for separation, can you answer the following questions:

(1) If I take out the methods in the Business layer which allow it to be called from the Presentation layer, then how can the Presentation layer call the Business layer?
(2) If I take out the methods in the Business layer which allow it to call the Data Access layer, then how can the Business layer call the Data Access layer?
(3) How can the existence of such methods be a violation of either Soc or SRP?