Archive for the 'Designpatterns' Category
MVVM Pattern for WPF Applications
Introduction
Model-View-ViewModel [MVVM] is a design pattern for developing the UI Applications. It is a variation of MVC and MVP. MVP[Model-View-Presenter] which has been using for years to develop UI platforms.
Bit about MVP
View is what you see on the screen.Model displays the data and Presenter hooks the two elements together.You can read more about this pattern in August 2006 Design Patterns column.
Related Posts:
No commentsFactory method Designpattern using C#
The factory method pattern is a creational design pattern used in software development to encapsulate the process of creating the objects.
Concerns:
- Which object needs to be created.
- Managing the life time of the object.
- Managing the build-up and tear down concerns of the object.
Definition:
“Define an interface for creating an object, but let subclasses decide which class to instantiate”
C# Implementation of Factory method
abstract class Factory
{
public abstract Product GetProduct(); //Factory Method Declaration
}
——————————————————————————————-
class concreteFactoryforProcuct1 : Factory
{
public override Product GetProduct() //Factory Method Implementation
{
return new Product1();
}
}
——————————————————————————————–
class concreteFactoryforProcuct2 : Factory
{
public override Product GetProduct() //Factory Method Implementation
{
return new Product2();
}
}
——————————————————————————————–
interface Product
{
void GetDetails();
}
class Product1 : Product
{
public void GetDetails()
{
Console.WriteLine("Product1 Details are Called");
}
}
class Product2 : Product
{
public void GetDetails()
{
Console.WriteLine("Product2 Details are called");
}
}
——————————————————————————————–
protected void Page_Load(object sender, EventArgs e)
{
Factory[] objFactories = new Factory[2];
objFactories[0] = new concreteFactoryforProcuct1();
objFactories[1] = new concreteFactoryforProcuct2();
foreach (Factory objFactory in objFactories)
{
Product objProduct = objFactory.GetProduct();
objProduct.GetDetails();
}
}
——————————————————————————————–
Related Posts:
5 comments
![Recommend [kalyanms1]](http://s3.amazonaws.com/arkayne-media/img/badge/logo-recommend-badge-medium.png)