Helix, what does it mean for Sitecore CMS development?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Helix, what does it mean for Sitecore CMS development?相关的知识,希望对你有一定的参考价值。

If you look at 10 different Sitecore solutions from the last few years you will most likely find 10 totally different types of architecture. As a developer picking up a solution from a third party or even internally this variance can mean a significant “Bedding in” period while you get a feel for the patterns being used.

Sitecore are attempting to standardize the approach taken to developing Sitecore solutions with Helix and Habitat.

Helix (http://helix.sitecore.net/) is a set of conventions that developers should be using when developing new websites.

Habitat (https://github.com/Sitecore/Habitat) is an example implementation of the Helix conventions.

Helix is based on the principles of package design which were created with the intention of creating software that is easy to maintain and extend. The principles of package design are an extension of the SOLID principles of class design but applied to packages of software.

I am not going to go into the principles here however if you want to spend some time understanding these a good book to read would be “Agile Software Development, Principles, Patterns, and Practices” by Robert C. Martin.

Why Should I Care?

As a Sitecore developer over the next few years you are likely to start seeing Helix compliant solutions more and more. Following the conventions should allow you to create software that is easier to maintain and extend.

Helix is a fairly large step away from more traditional “Type centric” solutions and understanding the why and how of Helix is going to allow you to pick up and develop solutions using these principles a lot faster than you have picked up solutions in the past.

A good place to get started is to go to the Habitat wiki and follow the “Getting Started” exercises (https://github.com/Sitecore/Habitat/wiki). 

以上是关于Helix, what does it mean for Sitecore CMS development?的主要内容,如果未能解决你的问题,请参考以下文章

Tasks, Workers, Threads, Scheduler, Sessions, Connections, Requests – what does it all mean?

"Batch,Batch,Batch":What does it really mean?

What does jQuery.fn mean?

What does -1 mean in numpy reshape?

What does "size" in int(size) of MySQL mean?

(译)What does explicit keyword mean?