In my earlier post I had discussed about the context/problem/solution of the Layers pattern and it's multiple implementation scenarios.In this part we will focus on the steps we need to follow in order to implement this pattern and it's benefits and challenges.
Implementation Steps
- Define the abstraction criteria
- First we need to determine the criteria based on which we will define the layers
- Define the levels of abstraction
- Once the criteria for abstraction is determined we need to define the levels of abstraction.This is a very critical task as we need to find the right level of abstraction and each abstraction level will correspond to one layer.So here we are deciding how many layers we will have.
- Name the layers and assign tasks to them
- Here we need to name the layers for better clarity throughout the design process.We also need to clearly identify what tasks each of the layers will perform.The individual layers should have high level of cohesion in terms of the tasks they perform.
Continue reading "Journey with Patterns - Layers (Part 2)" »
What do we do first, when designing a large complex system?We try to break it into smaller manageable pieces i.e. we try to decompose the system.This is the context in which Layers architectural pattern comes into picture.While doing so normally we come across the following challenges:
- Each component or subsystem should have clearly defined responsibilities and similar responsibilities needs to be grouped together for better clarity and maintainability.
- The components should have clearly defined interfaces for communicating with their other counterparts.
- Each subsystem should be replaceable with minimum impact on the other parts of the system.
Continue reading "Journey with Patterns - Layer (Part I)" »
During our sessions and discussions in KolkataNET I have noticed that many of our members are aware of the term "patterns" in context of software development .They know about patterns like Singleton,MVC etc. but they are not very much clear on the basic purpose of patterns,difference between architectural and design patterns,what are the available and mostly referred to pattern catalogs etc.One possible reason might be that they have used some of the techniques and patterns in their development projects but did not studied much on the subject.Many of them have the interest but not enough time to get into the details.Some might have not got the right sources of information.
Continue reading "Journey with Patterns - Prologue" »