05 2017 档案

摘要:定义: 提供了一个统一的接口,用于访问子系统一群功能的相关接口。就是将一群子系统,或者对象,或者接口等继续统筹,分类,组装成统一的接口,解耦内部和外部,同时降低复杂度。通俗的说,就是在一群接口外面再包一层。 图示: 案例分析: 假如我们要进行炒菜,这个过程中,对象有煤气罐(GasCylinder), 阅读全文
posted @ 2017-05-12 16:02 葡萄树上有葡萄 阅读(163) 评论(0) 推荐(0)
摘要:定义: 封装了一个算法步骤,并允许子类为一个或者多个步骤方法提供实现。 uml图示: 其中templateMethod方法为封装好的模板算法步骤,其中abs开头的方法只父类的抽象方法,由子类继承实现,concrete开通的方法只父类实现好了,子类无需关系,hook方法只子类可以预定那些方法执行或者不 阅读全文
posted @ 2017-05-10 14:11 葡萄树上有葡萄 阅读(163) 评论(0) 推荐(0)
摘要:定义: 将请求、命令、动作等封装成对象,这样可以让项目使用这些对象来参数化其他对象。是的命令的请求者和执行者解耦 UML图: 从类图看,调用者(Invoker)内部封装了各个接收者(Receiver)封装好动作的对象(command),这样调用者只关心内部设置的这些Command,而接收站只需要向调 阅读全文
posted @ 2017-05-09 16:09 葡萄树上有葡萄 阅读(136) 评论(0) 推荐(0)
摘要:定义: 对象之间存在一对多的关系,一的一方(被依赖对象,一般为Subject)变化,通知多的一方(依赖对象,一般为ObServer)。 UML: 代码实现例子: 阅读全文
posted @ 2017-05-04 19:10 葡萄树上有葡萄 阅读(115) 评论(0) 推荐(0)
摘要:定义: 提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示 应用场景: 1. 访问一个聚合对象的内容而无需暴露它的内部表示(当不想暴漏对象内部的数据和结构,通过实现迭代器,将数据放到迭代器中提供给使用者,符合类单一原则和开闭原则) 2.支持对聚合对象的多种遍历 3.为遍历不同的 阅读全文
posted @ 2017-05-04 11:26 葡萄树上有葡萄 阅读(159) 评论(0) 推荐(0)
摘要:为什么要使用工厂模式: 工厂模式归根到底,就是将项目主程序中,对象实例化部分抽取出来,从而达到跟主程序解构,以便于项目以后拥有更好的扩展性和维护性。 简单工程模式: 通俗点讲,就是将程序中碰到if...new if...new 的代码提炼到一个静态工厂里面进行实现,这样做的好处以后新增加一种类型对象 阅读全文
posted @ 2017-05-02 15:07 葡萄树上有葡萄 阅读(208) 评论(0) 推荐(0)