随笔分类 - 设计模式
摘要:之前的装饰者模式,是将对象包装起来,赋予新的功能。适配器模式则是包装对象,使其接口看起来不像自己而是别的对象,就是将类的接口转换成想要的接口,以便实现不同的接口。而外观模式则是将对象包装起来以简化其接口。 适配器模式讲一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。
阅读全文
摘要:当使用new创建对象的时候,总是会实例化一个具体类,这样就不是针对接口编程,并且当一段代码中有大量的实例化活动,就应该考虑对扩展开放,对修改关闭,就是将其中变化的部分封装提取,也就是封装创建对象的代码,生成一个新的对象,也就是工厂对象,这样就得到了一个简单工厂。简单工厂并不能称之为一种模式,更像是一
阅读全文
摘要:单件模式确保一个类只有一个实例并提供一个全局访问点。实现起来也很简单,如果一个类只想有一个实例的话,那么这个类将构造函数私有化,并利用一个静态变量记录这个类的唯一实例,还要提供一个静态方法返回这个类的实例。 但是单件模式在多线程情况下可能会有些问题,解决方法一是使用同步方法返回实例,二是使用急切实例
阅读全文
摘要:命令模式将“请求”封装成对象,以便使用不同的请求,队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。 命令模式把方法调用封装起来,所以调用此方法的对象不需要关心事情是如何进行的,只要知道如何使用包装成成形的方法类完成就可以。用命令对象来说就是,命令对象将动作和接收者包装其中,这个对象对外只暴
阅读全文
摘要:观察者模式比较容易理解,也可以称作订阅/发布模式,C#中的委托/事件就是一种实现。观察者模式定义了对象间的一对多依赖,当一个对象状态改变时,其所有依赖者都会收到通知并自动更新。通俗的说,有一个被观察者,和许多的观察者,当被观察者发出通知的时候,观察者都会知道,并且做出自己的动作。 实现的时候,被观察
阅读全文
摘要:前记:最近开始做的项目比较大,其中用到的设计模式比较多,趁这个机会看看书,学习学习,提高自己。看过书后,在这里做个笔记,写些自己的体会。 装饰者模式,动态的将责任(一个功能对象)附加到(装饰)对象上。比如说,现在有一个窗口类,派生出来很多子窗口,现在希望给这些子窗口添加一个工具栏,如果按传统的做法,
阅读全文