Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The first question I thought of when I saw this diagram was, "Why would the business logic have any kind of dependencies on submodules?" Two thoughts sprung to mind, and I'll go through each of them and what you shouldn't be doing to repeat these.</p> <ol> <li><p><strong>Tightly coupled code.</strong> This manifests itself in code duplication or the large class/method smell.</p> <p>You want your code to be <strong>modular</strong>, such that a project only depends on what it needs to in order to compile and run without error.</p></li> <li><p><strong>Illogical code hierarchy.</strong> This (eventually) manifests itself as circular dependencies, or dependencies that suddenly go missing when <code>&lt;exclude&gt;</code> blocks show up.</p> <p>You want the lines of what depends on what to be <strong>explicit</strong>, such that your code hierarchy is well laid out.</p></li> </ol> <p>I'm going to take your arrows in one cardinality to mean that a project <em>depends on</em> another, so it makes sense that the UI and CLI depend on the Business Logic to function. It also makes sense that Business Logic can depend on the children modules to do some other function not quite related to the core.</p> <p>What <em>doesn't</em> make sense is that these children models also depend on Business Logic. The children modules should be unique enough that they do not need to depend on anything from Business Logic; if they do, then perhaps they should live there instead.</p> <p>As for the versioning - there are CI tools out there such as Jenkins and TeamCity that can aid you with that problem. The thrust would be to have that set up in such a way that it occurs independent of human intervention/error.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
 

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