AmyLiu

导航

C#面向对象设计模式纵横谈(1):面向对象设计模式与原则

没有个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。
——Christopher Alexander

设计模式描述了软件设计过程中某一类常见问题的一般性解决方案。

面向对象设计模式描述了面向对象设计过程中、特定场景下、类与相互通信的对象之间常见的组织关系。

从设计原则到设计模式
针对接口编程,而不是针对实现编程
客户无须知道所使用对象的特定类型,只需要知道对象拥有客户所期望的接口
优先使用对象组合而不是类继承
类继承通常为“白箱复用”,对象组合通常为“黑箱复用”。继承在某种程度上破坏了封装性,子类父类耦合度高;而对象组合则只要求被组合的对象具有良好定义的接口,耦合度低。
封装变化点
使用封装来创建对象之间的分界层,让设计者可以在分界层的一侧进行修改,而不会对另一侧产生不良的影响,从而实现层次间的松耦合。

使用重构得到模式——设计模式的应用不易先入为主,一上来就使用设计模式是对设计模式的最大误用。没有一步到位的设计模式。敏捷软件开发实践提倡的“Refactoring to Patterns”是目前普遍公认的最好的使用设计模式的方法。

abstract class Employee
{
   
public abstract int GetSalary();
}


class Sales:Employee
{
    
public override int GetSalary();
}


class Engineer:Employee
{
    
public override int GetSalary();
}


//显示工资程序
Employee e =emFactory.GetEmployee(id);
MessageBox.Show(e.GetSalary());

posted on 2006-10-12 11:25  AmyLiu  阅读(214)  评论(0)    收藏  举报