DCSIMG
DEV,Architecture - Gil Fink's Blog

Gil Fink's Blog

Fink about IT

News

Microsoft MVP

My Facebook Profile My Twitter Profile My Linkedin Profile

Locations of visitors to this page

Creative Commons License

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.
© Copyright 2013 Gil Fink

Hebrew Articles

Index Pages

My OSS Projects

English Articles

Browse by Tags

All Tags » DEV » Architecture (RSS)
Building N-Tier Applications with Entity Framework 4 Slide Deck
Building N-Tier Applications with Entity Framework 4 Slide Deck I just finished my session in Teched Israel 2010. The subject was building N-Tier applications with Entity Framework . I want to thank all the attendees who joined me at this morning after yesterday’s party. The subjects that I covered are how to build N-Tier applications on top of Entity Framework in three different approaches – Self-Tracking Entities, Data Transfer Objects and POCO. If you are interested you can download the slide...
Too Much Abstractions? Follow up
Too Much Abstractions? Follow up I asked a question about how to know when you have too much abstractions in your code? and do more abstractions implies better design? I promised to do a follow up post and give my humble opinion. So here it goes. As architect I’m using abstractions a lot. It allows me to hide the implementation details and create API’s for my consumers. Also, it lets me the ability to change the implementation at a later stage of the project if I need to and of course it makes the...
Too Much Abstractions?
Too Much Abstractions? Yesterday I had an architecture consulting session at a major customer. One of the questions that were raised was how to know when you have too much abstractions in your code? or to make it even more interesting – do more abstractions implies better design?  I want to make it an open discussion and to hear what is your opinion about this subject before I’ll post my own.
Eager Loading with Repository Pattern and Entity Framework
Eager Loading with Repository Pattern and Entity Framework One question that I received yesterday after I published the Revisiting the Repository and Unit of Work Patterns with Entity Framework post was how to include the eager loading ability of Entity Framework . This post is offering a solution. Revisiting Eager Loading and Lazy Loading Lazy loading is a design pattern that is commonly used to defer initialization of an object up until it is needed by the program. The gains of using the pattern...
Revisiting the Repository and Unit of Work Patterns with Entity Framework
Revisiting the Repository and Unit of Work Patterns with Entity Framework In the past I wrote two posts about the Repository and the Unit of Work patterns ( here and here ). Today I want to show a better and less naive solution for imposing the Unit of Work and the Repository patterns with Entity Framework . Revisiting The Repositoy Implementation In the Repository pattern, I added to the interface two new methods for adding and removing an entity: public interface IRepository<T> where T :...
Cache Retrieval Pattern
Cache Retrieval Pattern In my previous post I wrote about cache layer and its position in every application. In this post I’m going to explain what is the cache retrieval pattern and show an example of how to implement it. Cache Retrieval Pattern When we implement a cache layer we need a strategy in order to retrieve cached items. The cache retrieval pattern is very simple and can be imposed into any application very fast. So how does it work? The business logic component will use the cache API in...
Cache Layer
Cache Layer Lately I found myself in some architecture consulting sessions at some customers. In every one of those customers I found myself explaining how to implement a cache layer in order to decrease the amount of round trips to the database and for better scalability. In this post I’ll try to explain in high level how to build a cache layer . Deciding to Build a Cache Layer Every application that performance is important to its developers and managers must contain some sort of caching . The...
Using Unit of Work Pattern with Entity Framework
Using Unit of Work Pattern with Entity Framework In a previous post I explained how to create a simple repository on top of Entity Framework . In this post I’ll explain the Unit of Work pattern and how we can use it with our data access layer. What is Unit of Work Pattern? In his famous and developer must read book “ Patterns of Enterprise Application Architecture ”, Martin Fowler defines the Unit of Work as “Maintains a list of objects affected by a business transaction and coordinates the writing...
Table Per Type Inheritance in Entity Framework
Table Per Type Inheritance in Entity Framework The first inheritance mapping I’m going to show is called Table Per Type or TPT . Before I start with the example lets define what is TPT . Table Per Type Definition TPT is an inheritance described in the database with separate tables. Every table provides additional details that describe a new type based on another table which is that table’s parent. In the following database ERD the OnlineCourse table is a concrete type of Course: As you can see the...
Using Repository Pattern with Entity Framework
Using Repository Pattern with Entity Framework One of the tools for reaching for persistence ignorance is to build a facade between the data access layer and your business logic. Such facade will prevent the knowledge of how the data access is working and with which technology. That abstraction can be achieved by using the Repository Pattern . In the post I’ll show how you can use the Repository Pattern in order to make an abstraction layer on top of Entity Framework . The Repository Interface When...
Applying Strategy Pattern Instead of Using Switch Statements
Applying Strategy Pattern Instead of Using Switch Statements Once in a while I’m stumbling on switch statements during a Code Review session. Whenever this is happening my first reaction is to understand why did the developer use it. Since using switch statement sometime implies spaghetti code and also can get very crowded (in case statements of course) in this post I’m going to show an alternative method that I prefer to use. Alternative Method for Switch Statements Whenever you start to use a switch...
My Next Month Courses Schedule
My Next Month Courses Schedule Next month I’m scheduled for the following courses: ADO.NET Entity Framework   Scheduled for 16.6 Advanced ASP.NET 3.5 Scheduled for 14.6 Design Patterns Scheduled for 11.6 If you want to participate in one of those courses or more details, you can contact E4D in the following ways: Contact Form in the this link Call Michal - 054-5612259 Call Oranit - 03-6325707 See you there.
The Benefits of Building a Layered Application
The Benefits of Building a Layered Application During the last two weeks I’m consulting at a customer that built a very simple application very badly. One of the problems that I found was the lack of layers separation which made the application very tangled. One example for that is the calling of stored procedures from UI user controls. I talked to the managers about that issue and explained the benefits of building a layered application . This post will explore those benefits. Layered Application...
ADO.NET Data Services Introduction
ADO.NET Data Services Introduction Introduction From the early ages of development, the separation of presentation and data was very necessary and was considered (and is considered) a good practice. As you all know, the current trend in the web development world is building Rich Internet Applications ( RIA ) and buzz words like Ajax and Silverlight are very popular today. The RIA technologies ( Ajax , Silverlight and etc) are built on the concept of separation between the presentation and data in...
Interpreter Pattern
This is the last post in the series of design patterns. The post describe the interpreter design pattern and shows an example in C#....
More Posts Next page »