Introduction to Habitat

Sitecore Habitat is a range of sites demonstrating the capabilities of the Sitecore Experience Platform.

The solution is built on the Sitecore Helix guidelines, which focuses on increasing productivity and quality in Sitecore projects.

The Sitecore Habitat demos are built on the Helix principles, which is a set of principles and conventions focused on.

Simplicity
Making the Sitecore solution manageable and simple - even as it grows and matures.

Flexibility
Assuring the business that changes and additions can be made with smaller investments and without disruptions.

Extensibility
Providing a quick and manageable way of extending solutions and reusing features across sites and even across solutions

The conventions are based on a number of well-founded and industry-standard principles such as

Helix Introduction

The video above describes the overall architectural principles of Helix.
There is also a blog post which describes more on the sitecore.net website.

Read more about Helix here...

Recommended Reading

Many of the principles and thoughts behind the Habitat methodology are described in the Books by Robert C. Martin. Recommended reading includes: "Clean Code: A Handbook of Agile Software Craftsmanship" and "Agile Principles, Patterns, and Practices in C#"

Agile Principles, Patterns and Practises

The Principles of Package Design

THE COMMON CLOSURE PRINCIPLE

Classes that change together are packaged together. What affects one, affects all.

Read more

THE COMMON REUSE PRINCIPLE

Classes that are used together are packaged together.

Read more

THE RELEASE REUSE EQUIVALENCY PRINCIPLE

The granule of reuse is the granule of release. Only classes that are released and tracked as a module, can be reused as a module.

Read more

The Stable Abstractions Principle

Packages that are maximally stable should be maximally abstract. Unstable packages should be concrete. The abstractness of a package should be in proportion to its stability.

Read more

The Stable Dependencies Principle

The dependencies between packages should be in the direction of the stability of the packages. A package should only depend upon packages that are more stable than it is. 

Read more
Documentation

Discover Sitecore Helix

Sitecore Helix is the official guidelines and recommended practices on Sitecore development.

Read the Documentation Now