Skip to content

Instantly share code, notes, and snippets.

@zenius
Created May 8, 2019 06:43
Show Gist options
  • Save zenius/5cf6d8d3c86c4c7d93293bad19818c4b to your computer and use it in GitHub Desktop.
Save zenius/5cf6d8d3c86c4c7d93293bad19818c4b to your computer and use it in GitHub Desktop.
1. Project Layer - The Project layer provides the context of the solution.
This means the actual cohesive website or channel output from the implementation,
such as the page types, layout and graphical design.
It is on this layer that all the features of the solution are stitched together into a cohesive solution that fits the requirements.
Least stable layer
***Project layer adheres to "Stable Dependencies Principle" ***
2. Feature layer- contains concrete features of the solution as understood by the business owners and editors of the solution,
for example news, articles, promotions, website search, etc.
***Feature layer adheres to "Common Closure Principle" ***
3. Foundation Layer - Conceptually, it is helpful to think of all the frameworks and software you rely on
in your solution as foundation modules. This includes the Sitecore platform, .NET and other technology frameworks
such as Bootstrap, Foundation, jQuery etc.
Most Stable Layer
***Foundation layer adheres to "Acyclic Dependencies Principle" and the "Stable Abstractions Principle" ***
Acyclic Dependencies Principle - The dependency graph of packages must have no cycles.
Stable Abstraction Principle - Abstractness increases with stability.
http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment