Sitecore helix pattern and where to place your business logic
Clash Royale CLAN TAG#URR8PPP
up vote
2
down vote
favorite
I've a new sitecore helix project and currently I am a bit unsure where I can place my business logic?
- currently I think I need to extract the business logic into some external services is that the "right" approach or do you host the business in your sitecore project?
helix
add a comment |Â
up vote
2
down vote
favorite
I've a new sitecore helix project and currently I am a bit unsure where I can place my business logic?
- currently I think I need to extract the business logic into some external services is that the "right" approach or do you host the business in your sitecore project?
helix
add a comment |Â
up vote
2
down vote
favorite
up vote
2
down vote
favorite
I've a new sitecore helix project and currently I am a bit unsure where I can place my business logic?
- currently I think I need to extract the business logic into some external services is that the "right" approach or do you host the business in your sitecore project?
helix
I've a new sitecore helix project and currently I am a bit unsure where I can place my business logic?
- currently I think I need to extract the business logic into some external services is that the "right" approach or do you host the business in your sitecore project?
helix
helix
asked 1 hour ago


squadwuschel
3349
3349
add a comment |Â
add a comment |Â
2 Answers
2
active
oldest
votes
up vote
2
down vote
Put your business logic into a Feature
or Foundation
layer of your solution.
For example, if you have a business logic for your Website's Newsletter, then crate a Feature.Newsletter
project and Foundation.Newsletter
(if needed) and put your logic there. You can put all your services, views, controllers etc into feature project.
add a comment |Â
up vote
1
down vote
First of; there is no single "Sitecore Project". There is your solution, and that's what Helix addresses.
As to where to place "business logic" - you use a generic term, when a specific one is required. Helix advocates breaking things down into logical groupings (modules). So if you were to say, develop some Newsletter functionality (as mentioned in another answer here) - that would logically group into a "Newsletter" feature.
This feature would (maybe) be a single project. Inside that you would have your view files, your controller renderings and so on. But you would also have your INewsletterService or whatever else information structure your newsletter is built upon.
It's also likely that, if not now then later, some of that newsletter functionality would be pushed down into the Foundation layer. Like the actual mechanics of sending a mail, for instance - which could have uses elsewhere in your solution. Like sending a registration confirmation mail or whatever it may be.
So you group related stuff together, that's (you know... simplified) what Helix is about.
add a comment |Â
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
2
down vote
Put your business logic into a Feature
or Foundation
layer of your solution.
For example, if you have a business logic for your Website's Newsletter, then crate a Feature.Newsletter
project and Foundation.Newsletter
(if needed) and put your logic there. You can put all your services, views, controllers etc into feature project.
add a comment |Â
up vote
2
down vote
Put your business logic into a Feature
or Foundation
layer of your solution.
For example, if you have a business logic for your Website's Newsletter, then crate a Feature.Newsletter
project and Foundation.Newsletter
(if needed) and put your logic there. You can put all your services, views, controllers etc into feature project.
add a comment |Â
up vote
2
down vote
up vote
2
down vote
Put your business logic into a Feature
or Foundation
layer of your solution.
For example, if you have a business logic for your Website's Newsletter, then crate a Feature.Newsletter
project and Foundation.Newsletter
(if needed) and put your logic there. You can put all your services, views, controllers etc into feature project.
Put your business logic into a Feature
or Foundation
layer of your solution.
For example, if you have a business logic for your Website's Newsletter, then crate a Feature.Newsletter
project and Foundation.Newsletter
(if needed) and put your logic there. You can put all your services, views, controllers etc into feature project.
answered 1 hour ago
Bartłomiej Mucha
692215
692215
add a comment |Â
add a comment |Â
up vote
1
down vote
First of; there is no single "Sitecore Project". There is your solution, and that's what Helix addresses.
As to where to place "business logic" - you use a generic term, when a specific one is required. Helix advocates breaking things down into logical groupings (modules). So if you were to say, develop some Newsletter functionality (as mentioned in another answer here) - that would logically group into a "Newsletter" feature.
This feature would (maybe) be a single project. Inside that you would have your view files, your controller renderings and so on. But you would also have your INewsletterService or whatever else information structure your newsletter is built upon.
It's also likely that, if not now then later, some of that newsletter functionality would be pushed down into the Foundation layer. Like the actual mechanics of sending a mail, for instance - which could have uses elsewhere in your solution. Like sending a registration confirmation mail or whatever it may be.
So you group related stuff together, that's (you know... simplified) what Helix is about.
add a comment |Â
up vote
1
down vote
First of; there is no single "Sitecore Project". There is your solution, and that's what Helix addresses.
As to where to place "business logic" - you use a generic term, when a specific one is required. Helix advocates breaking things down into logical groupings (modules). So if you were to say, develop some Newsletter functionality (as mentioned in another answer here) - that would logically group into a "Newsletter" feature.
This feature would (maybe) be a single project. Inside that you would have your view files, your controller renderings and so on. But you would also have your INewsletterService or whatever else information structure your newsletter is built upon.
It's also likely that, if not now then later, some of that newsletter functionality would be pushed down into the Foundation layer. Like the actual mechanics of sending a mail, for instance - which could have uses elsewhere in your solution. Like sending a registration confirmation mail or whatever it may be.
So you group related stuff together, that's (you know... simplified) what Helix is about.
add a comment |Â
up vote
1
down vote
up vote
1
down vote
First of; there is no single "Sitecore Project". There is your solution, and that's what Helix addresses.
As to where to place "business logic" - you use a generic term, when a specific one is required. Helix advocates breaking things down into logical groupings (modules). So if you were to say, develop some Newsletter functionality (as mentioned in another answer here) - that would logically group into a "Newsletter" feature.
This feature would (maybe) be a single project. Inside that you would have your view files, your controller renderings and so on. But you would also have your INewsletterService or whatever else information structure your newsletter is built upon.
It's also likely that, if not now then later, some of that newsletter functionality would be pushed down into the Foundation layer. Like the actual mechanics of sending a mail, for instance - which could have uses elsewhere in your solution. Like sending a registration confirmation mail or whatever it may be.
So you group related stuff together, that's (you know... simplified) what Helix is about.
First of; there is no single "Sitecore Project". There is your solution, and that's what Helix addresses.
As to where to place "business logic" - you use a generic term, when a specific one is required. Helix advocates breaking things down into logical groupings (modules). So if you were to say, develop some Newsletter functionality (as mentioned in another answer here) - that would logically group into a "Newsletter" feature.
This feature would (maybe) be a single project. Inside that you would have your view files, your controller renderings and so on. But you would also have your INewsletterService or whatever else information structure your newsletter is built upon.
It's also likely that, if not now then later, some of that newsletter functionality would be pushed down into the Foundation layer. Like the actual mechanics of sending a mail, for instance - which could have uses elsewhere in your solution. Like sending a registration confirmation mail or whatever it may be.
So you group related stuff together, that's (you know... simplified) what Helix is about.
answered 19 mins ago


Mark Cassidy♦
16k43178
16k43178
add a comment |Â
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsitecore.stackexchange.com%2fquestions%2f14762%2fsitecore-helix-pattern-and-where-to-place-your-business-logic%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password