软件设计模式与原则

本文介绍了设计模式中的观察者模式,解释了当目标状态改变时,如何通知并影响其他对象。通过示例展示了观察者模式在Windows Forms中的实现,强调了框架代码与用户代码的分离,以及在事件处理中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第九章 设计模式与原则

         软件设计模式(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);
         voidRemoveObserver(IObserver obse
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值