When should we go for Single Implementation Layer Only
A single application is the best approach in the following scenarios:
The enterprise does not span multiple regions where business rules vary dramatically.
The business for an organization is not operated in multiple countries or
Even though it is operated there is no major difference in the nature of the business - The minor differences can be taken cared by Circumstancing , Pattern Inheritance and Data model Techniques
No significant variation in the policy between the countries
The enterprise is only interested in completing the implementation of a framework developed by a vendor. The enterprise does not need or want to extend its own application.
When Vendor is responsible for creating the Generic layer i.e. Framework, and Organization just wanted to consume it for business transactions
The enterprise has divisions that develop division-unique applications.
When the org has different departments like HR, IT, Procurement and all of them is using Base PRPC to build Onboarding app, Operational app and Ordering app respectively then we should go for different divisions class for every departments
We handle this by creating our class structure for every division like :
MyOrg-Digitalapps-HR-Work - The HR application for which this will be the base work class
MyOrg-DigitalApps-IT- Work - The IT application for which this will be the base work class
MyOrg-DigitalApps-Procurrement-Work - The Procurrement application for which this will be the base work class