Layered arch vs Big Ball Of Mud:
§ Separation of concerns - Each layer encapsulates distinct functions –eg Presentation , Business Logic, Data Access in traditional three-tiered architecture.
§ If multiple presentation technology needs to be supported – say Mobile and Web based views, only the presentation tier is affected
§ If a different kind of data access pattern needs to be supported – say Memcache based caching, only the data tier is affected
§ Allows Reuse – lower layers can be re-used by the layers above it.
§ Testability – Each layer can be tested independently.
§ Maintainable – if view breaks, look in the presentation tier. If data seems wrong, look in the data access tier, if business logic seems wrong, look at the business tier
§ Fosters Developer specialization – UI developers looking at Presentation layer