Abstract:
Setting up StructureMap and The Unit Of Work ActionFilter UnitOfWork ActionFilter In my previous post I had created the repository implementations along with unit of work. But how do we use this unit of work in our application. ASP.NET MVC has a concept of ActionFilters. These could be applied to an action or a controller in general. The two main methods that concern us are OnActionExecuting and the OnActionExecuted. As seen in the code below we call the initialize method of the unit of work which would create a new transaction for us and this is held until the action is complete after which we commit the transaction. We are getting a new instance of _unitOfWork through an IoC container which I will talk about in a bit. ...
|
Abstract:
NHibernate Repository and Unit Of Work In my previous post we looked at the domain model and the class maps associated with it. In this post lets look at the Repository and Unit Of Work implementations. Note: The following is based on the FubuMVC contrib project. IRepository A repository is an abstraction layer which gives your application an in memory domain object collection. This layer helps in making you application agnostic about where the data is coming from or where it is persisted into. It could well be a flat file or any other RDBMS. Preferably each of your domain object would have its own repository. But for the sake of keeping it simple, I am using a generic repository in the following code. ...
|
Abstract:
Mapping The Classes And Session Source Configuration As mentioned in my previous post, this series will no longer be a talk about DDD as a blog app is too trivial to show ( learn ) the power of it. I will be using some of the patterns of DDD though. So I have changed the name of the app I am building. It will be called MyPersonalBlog ( MPBlog ) henceforth. The project structure has changed a bit from what I had shown here. There is no longer separate layers for infrastructure and domain. I have clubbed these 2 layers into a single Core layer. The other layers are just the same. Lets get started by creating our domain objects. The domain objects ...
|
|
Abstract:
Lazy loading of objects essentially means that the data is loaded only when requested and not when the object instance is created.
For Eg. suppose we have a Blog class which has a blogText property. Now this property can be encapsulated like so...
|