halilibrahimkalkan.com

personal and technical blog of Halil İbrahim Kalkan

I finished my new article on CodeProject. Click here to read it.

I demonstrated building an NLayered, localized, well-structured Single-Page Web Application using AngularJs, ASP.NET MVC, Web API, EntityFramework and ASP.NET Boilerplate.


I finished and published the article Introduction to ASP.NET Boilerplate. Vote it if you like :)


I created a Single-Page Application template for ASP.NET Boilerplate. See https://github.com/aspnetboilerplate/templates to download and usage.


ASP.NET Boilerplate on nuget!

I published nuget packages for my new project: ASP.NET Boilerplate (ABP). Now, working on a project template to make easy to start a new application with ABP. Then I'll publish an article on it. Soon..


.NET Technology Guidance

There is a very helpful document (pdf) from Microsoft here:

http://www.microsoft.com/net/nettechnologyguidance

It discusses current and emerging approaches, technologies, patterns and tools in the .NET World! I recommend it to read.


I finished reading this book a few days ago.

This is a well written book on NLayer architecture in .NET applications (both Web & Desktop applications). It starts describing architecture and architect, then explains all widely used paradigms and patterns in each layer and compares them with each other in detail. Discusses benefits and downsides of all approaches. I think it is a usefull book for one who interesting in architectures of applications. Also, it can help developers to develop more organized and well designed systems. I think this is an intermediate/pro level book. So, I advice it if you are a software architect or want to be.


I'm working on a new open source web framework (named ASP.NET Boilerplate). It's aimed to be a starting point for new ASP.NET MVC projects using best practices and most popular tools. An overview of the framework is shown below.

It's under development for now and not appropriate for usage yet. I guess first usable version will be completed in a few months. I'm developing it under github:

https://github.com/hikalkan/aspnetboilerplate


jTable v2.3.1 released

After a long time, I released a minor fix for jTable. See http://jtable.org/Home/ChangeLog


Hi,

I had a problem on Castle Windsor when I want protected/public virtual methods to be intercepted while I registered it over interfaces. For instance;

I'm registering all services like that:

Classes.FromAssembly(Assembly.GetAssembly(typeof(PersonService))).InSameNamespaceAs<PersonService>().WithService.DefaultInterfaces().LifestyleTransient()

PersonService implements IPersonService, so Castle Windsor makes a proxy for interface, not for concrete class. Thus, it does not intercepts virtual methods those are not part of the interface. So, I found the solution, changed registration like that:

Classes.FromAssembly(Assembly.GetAssembly(typeof(PersonService))).InSameNamespaceAs<PersonService>().WithService.DefaultInterfaces().WithService.Self().LifestyleTransient()

Added just

.WithService.Self() 

Thus, castle makes proxy for concrete class. So, it intercepts and protected/public virtual methods.


After a long time, I authored a new article on Dependency Injection and Unit Of Work patterns. In this article, I implemented dependency injection, repository and unit of work patterns using Castle Windsor as DI (dependency injection) container and NHibernate as ORM (Object Relational Mapping) tool. See http://www.codeproject.com/Articles/543810/Dependency-Injection-and-Unit-Of-Work-using-Castle.


Other pages

Month List