代码改变世界

随笔档案-2017年08月

模板模式

2017-08-17 17:27 by grows, 262 阅读, 收藏,
摘要: 模板模式:即提供一个统一的模板算法(执行每个方法的顺序,以及那一部分需要执行,那一部分不需要执行),而其中需要频繁变化的部分设计为抽象的,而固定不变的部分设计具体的方法,如果需要改变模板中的某个流程,则使用钩子方法。 其是基于继承的代码复用技术 1) 抽象类:用于设计具体的模板(包括四种方法) 2) 阅读全文

组合模式

2017-08-10 22:04 by grows, 151 阅读, 收藏,
摘要: 主要是解决整体与部分的问题,用户希望把从整体和部分之间的复杂的组合关系解放出来,把整合和部分看成一个东西所以就需要整体和部分使同一个接口 1) 整体:枝干 2) 部分:枝叶 3) 公共接口 4.使用场景 适合处理整体和部分的问题 阅读全文

装饰者模式

2017-08-07 20:44 by grows, 185 阅读, 收藏,
摘要: 是给目标对象添加额外的功能,当然继承也是可以添加额外的功能,但是相对于装饰模式,其就会暴露出不够灵活以及比较臃肿和静态(提前定义好功能在进行重写扩展)的特点。是继承的替代方案 1) 抽象装饰者(只是一个抽象的装饰便于进行装饰的扩展) 2) 具体的装饰者(提供具体的装饰) 3) 抽象被装饰者(需要被装 阅读全文

适配器模式

2017-08-04 17:29 by grows, 219 阅读, 收藏,
摘要: 1. 现实生活中有很多原来的东西和目标的东西不匹配,但是你还要去用,那么这时候怎么办呢,就需要一个东西,是原来的东西能够被目标东西所使用,这就是适配器,也是体现它的价值的地方,例如两头插座和三孔插座,两头插头需要这个三孔插座变成两空插头从而能够使用,这时候来个转化器既可以使用了,这个转化器就是适配器 阅读全文

观察者模式

2017-08-02 21:23 by grows, 214 阅读, 收藏,
摘要: .观察者模式 .1. Vue框架实现了MVVM模式即model view modelView, view视图层的变化都会引起modelview的变化而modelview的变化会导致view层重新渲染,其中数据观测的原理应该就是观察者模式的运用,data(被观察者)中的属性自动封装成get set 每 阅读全文

代理模式

2017-08-02 21:18 by grows, 252 阅读, 收藏,
摘要: 1. 代理在现实生活中比较常见,例如:我们喝的可乐,是在超市里面或者小卖部里面买的,我们吃的食物,例如:方便面也是在超市或者小卖部里面买的,这些超市或者是小卖部其实并不是可乐方便面的生产者,而是去厂商那里拿货自己去卖其实就是一个代理商 2. 代理模式具有的角色以及行为: 1) 真实的生产商 2) 代 阅读全文

单例模式

2017-08-01 20:10 by grows, 177 阅读, 收藏,
摘要: 1.单例是什么? 就是类只能实例化一个对象,所有用到此对象的都是同一个对象 这就要求由类只能有一个实例,类本身去创建这个对象,其他类共用这个对象 2.创建对象两种方式: 1) new 2) 通过Class对象.newInstance()方法创建 3.打破上面两种创建的方式,通过把构造函数设置为pri 阅读全文