Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>It generally can be guide by <strong>deployment</strong> considerations:</p> <p>How will you deploy (i.e. what will you copy on your production machine) ?</p> <p>If what you are deploying are <strong>packaged</strong> components (i.e. dll, jar, war, ...), it is wise to organize the "code library" as a collection of <em>packaged</em> set of files.<br> That way, you will develop directly with the -- dll, jar, war, ... -- which will be deployed on the production platform.<br> The idea being: if it works with those packaged files, it may still work in production.</p> <hr> <blockquote> <p>the reuse of code between disparate projects, rather than within a single project.</p> </blockquote> <p>I maintain that kind of reuse is easier in a "component" approach (like the one discussed in the question "<a href="https://stackoverflow.com/questions/769786/vendor-branches-in-git/769941#769941">Vendor Branches in GIT</a>")</p> <p>Over more than 40 current projects, we achieved:</p> <ul> <li><strong>technical reuse</strong> by systematically isolating any pure technical aspect into independent framework (typically, log framework, exception framework, KPI - Key Performance Indicator - framework, and so on).<br> Those technical components are reused into every other projects.</li> <li><strong>functional reuse</strong> by setting a clear <em>applicative</em> architecture in order to divide any functional domain (given the business and functional specifications) into well-defined applications. That would typically involve, for instance, a bus layer which is also a great candidate for exposing services reused by any other projects.</li> </ul> <p>Summary:<br> For large functional domain, a single project being not manageable, a good applicative architecture will lead to natural code reuse.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload