第九章 设计模式与原则
软件设计模式(Designpattern)是一套被反复使用的代码设计经验总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。好的设计,成就好的作品。但在软件设计的过程中,若有一些设计原则(Design Principle)的约束,那我们的软件会重构得更好。设计模式和设计原则博大精深,需要我们长时间的实践和总结才能真正领悟到其真谛,本章首先以“观察者模式”为例,介绍设计模式在Windows Forms中的应用(其他常用设计模式略),之后详细介绍五大设计原则(简称Solid原则)。
9.1软件的设计模式
9.1.1观察者模式
程序的运行意味着模块与模块之间、对象与对象之间不停地有数据交换,观察者模式强调的就是,当一个目标本身的状态发生改变时(或者满足某一条件),它会主动发出通知,通知对该变化感兴趣的其他对象,如果将通知者称为“Subject”(主体),将被通知者称为“Observer”(观察者),具体结构图如下:
图9-1 观察者模式中类关系图
如上图9-1所示,图中将主体和观察者的逻辑抽象出来两个接口,分别为:ISubject和IObserver,ISubject接口中包含一个通知观察者的NotifyObservers方法、一个添加观察者的AddObserver方法和一个RemoveObserver方法,IObserver接口中则只包含一个接受通知的Notify方法,ISubject和IObserver接口的关系为:一对多,一个主体可以通知多个观察者。
具体代码实现如下:
//Code 9-1
interface ISubject //NO.1
{
voidNotifyObservers(string msg);
voidAddObserver(IObserver observer);
v