随笔分类 - 设计模式
摘要:设计模式使用原则主要包括以下几点: 单一职责原则:一个类只负责一项职责,即一个类应该只有一个职责,该职责由类的一个职责来定义。这样可以提高类的可维护性和可复用性。 开闭原则:软件实体应当对扩展开放,对修改封闭。也就是说,软件的功能扩展应当通过增加新代码来实现,而不是通过修改已有的代码来实现。这样可以
阅读全文
摘要:命令模式将”请求“封装成对象,以便使用不同的请求、队列、或者日志来参数化其他对象。命令模式也可支持可撤销的操作。 一个命令对象通过在特定接收者上绑定一组动作来封装一个请求。也就是说:命令对象将动作和接收者包进对象中,这个对象只暴露出一个execute方法,当execute方法被调用的时候,接收者就会
阅读全文
摘要:定义:定义一个操作中算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构即可重定义该算法的某些特定步骤。通俗点的理解就是 :完成一件事情,有固定的数个步骤,但是每个步骤根据对象的不同,而实现细节不同;就可以在父类中定义一个完成该事情的总方法,按照完成事件需要的步骤去调用其每个步
阅读全文
摘要:装饰者模式是一种结构型模式,它对现有的类进行包装,允许向一个现有的对象添加现有的功能,同时又不改变其结构。 这种模式创建了一个新的装饰器类,用来包装原有的类。并在保持类签名完整性的情况下提供了额外的功能。 意图:动态地给一个对象添加额外的职责,就新增红能来说,装饰器模式相比于生成子类更加灵活。 主要
阅读全文
摘要:定义:适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式 考虑到某些产品的功能很相似,如果想兼容其它产品,但是又不想考虑太多的对象区分或者if else, 可以用适配器模式来适配对象。 在产品迭代的过程中经常有不同的版本,虽然版本不同,但是
阅读全文
摘要:观察模式UML图及各部分定义: Subject:抽象主题,定义注册、删除、通知观察者的接口 Observer:抽象观察者,为所有的具体观察者定义一个响应的接口,在接受到主题发来的通知后,及时更新自己。 Atcor:抽象观察者的行为,定义了观察者在接受通知更新自己后,接下来要做的动作。(该部分也可以放
阅读全文
摘要:单例模式的意义: 有一些对象我们只需要一个实例,比如说线程池、缓存、对话框、日志对象、重放打印机、显卡等设备的驱动程序。这些对象只能有一个实例,否则会产生很多问题。为了确保只有一个实例,有时我们通过全局变量的形式实现,但是将对象赋值给全局变量,但是却没有使用就会造成资源的浪费。所以还只实例化一个实例
阅读全文
摘要:策略模式:定义了算法簇,分别封装起来,让它们之间可以互相替换,此模式让算法的变化可以独立于算法的客户。 具体实例:现在我们要创建各种鸭子对象,这些鸭子有者不同的行为能力,会叫的,会飞的,不会叫的,不会飞的,飞得很快像火箭一样的等等。 我们首先分析鸭子的能力主要有两种,叫与飞。因此我们将这两种能力剥离
阅读全文