Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to architecture a 3-tiered solution?
    primarykey
    data
    text
    <p>I am using FluentNHibernate in my solution. The recommended folder structure from fluentnhibernate documenation is like this:</p> <p>Entities folder, under which we have POCO classes of the business model. Mappings folder, under which we have the mappings to our data model.</p> <p>I assume that these two folders would go into a business layer project called "BusinessModel"? See below:</p> <pre><code>BuessinessModel |_ Entities |- Student.cs |- Course.cs |- Faculty.cs |_ Mappings |- Mappings.cs </code></pre> <p>And maybe create another project called "DataAccess" which references the BusinessModel project for the data access layer to do the CRUD? </p> <p>What's the best practice? Any architect there? Thanks.</p> <hr> <p>AK: I read your post at <a href="https://stackoverflow.com/questions/3121870/n-layered-architecture-bll-dal-and-interfaces-what-is-best-practice">n-layered architecture - BLL, DAL and interfaces. What is best practice?</a> .</p> <p>Let me quote yours </p> <blockquote> <p>Taking a "Person" as an example: think about the different data operations associated with a person (Getting all the data for a single person, a collection of shallow data for many persons, CRUD operations, searching, etc) - then design interfaces along logical groupings.</p> </blockquote> <p>I am trying to understand this. So, you are saying that </p> <ol> <li><p>In the BLL project, we have this Person class. </p></li> <li><p>Also in the BLL project, we have an interface which declares all data operation methods we will need for the Person object. </p></li> <li><p>Then in the DAL project, we have concrete implementation of the interface we define in BLL.</p> <p>Does this sound correct to you? Thanks.</p></li> </ol>
    singulars
    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.
 

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