In general, this may be a guide for deployment considerations:
How will you deploy (that is, what you copy on your production machine)?
If what you are deploying is packaged components (for example, dll, jar, war, ...), it’s wise to organize a “code library” as a set of packaged files.
Thus, you will develop directly with the help of - dll, jar, war, ... - which will be deployed on the production platform.
The idea is that if it works with these packaged files, it can still work in the production process.
code reuse between disparate projects, and not within the same project.
I argue that such reuse is easier in the "component" approach (for example, in the " Affiliate Affiliates in GIT discussed" issue)
Over 40 ongoing projects we have achieved:
- technical reuse , systematically isolating any pure technical aspect in an independent structure (as a rule, a log framework, exception infrastructure, KPI-Key Performance Indicator - structure, etc.). These technical components are reused in all other projects.
- functional reuse by establishing a clear application architecture to divide any functional domain (taking into account business functions and functional specifications) into clearly defined applications. This is usually associated, for example, with the bus level, which is also an excellent candidate for the provision of services, reusable by any other projects.
Summary:
For a large functional area, one project is not manageable; a good applicative architecture will lead to code reuse.
Vonc
source share