
设计模式
文章平均质量分 68
鸡蛋无壳
屌丝程序员一枚
展开
-
设计模式7——策略模式
1.什么是策略模式Strategy模式也叫策略模式是行为模式之一,它对一系列的算法加以封装,为所有算法定义一个抽象的算法接口,并通过继承该抽象算法接口对所有的算法加以封装和实现,具体的算法选择交由客户端决定(策略)。Strategy模式主要用来平滑地处理算法的切换 。2.策略模式的结构举个栗子:买东西有时会根据价格的不同打不同的折扣,下面做一个全场打8折,若价格超过200打6折。首先策略接口,输入价原创 2017-08-07 17:33:35 · 258 阅读 · 0 评论 -
设计模式8——观察者模式
1.什么是观察者模式Observer模式是行为模式之一,它的作用是当一个对象的状态发生变化时,能够自动通知其他 关联对象,自动刷新对象状态。 Observer模式提供给关联对象一种同步通信的手段,使某个对象与依赖它的其他对象之间保持 状态同步。2.观察者模式的结构举个例子:我关注了一个博客,当博客更新时,我会收到通知。 定义博客文章,标题和文章内容,分别实现get和setpackage c原创 2017-08-14 19:36:24 · 300 阅读 · 0 评论 -
设计模式1——简单工厂
简单工厂1. 什么是简单工厂简单工厂模式属于类的创建型模式,又叫做静态 工厂方法模式。通过专门定义一个类来负责创建 其他类的实例,被创建的实例通常都具有共同的 父类。定义一个Fruit接口public interface Fruit { /* * 采集 */ public void get();}定义一个Apple类实现Fruitpublic class原创 2017-08-02 12:27:38 · 244 阅读 · 0 评论 -
设计模式2——工厂方法模式
1. 什么是工厂方法模式工厂方法模式同样属于类的创建型模式又被称为多态工厂模式 。工厂方法模式的意义是定义一个创建 产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。 定义一个Fruit接口public int原创 2017-08-02 16:33:45 · 222 阅读 · 0 评论 -
设计模式3——抽象工厂模式
1. 什么是抽象工厂模式抽象工厂模式是所有形态的工厂模式中最为抽象和最其一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。public interface Fruit { /* * 采集 */ public void get();}定义一个Apple的抽象类实现Fruitpublic abs原创 2017-08-02 18:31:37 · 237 阅读 · 0 评论 -
设计模式4——原型模式
1. 什么是原型模式Prototype模式是一种对象创建型模式,它采取复制原型对象的方法来创建对象的实例。使用Prototype模式创建的实例,具有与原型一样的数据。2. 原型模式的特点由原型对象自身创建目标对象。也就是说,对象创建这一动作发自原型对象本身。目标对象是原型对象的一个克隆。也就是说,通过Prototype模式创建的对象,不仅仅与原型对象具有相同的结构,还与原型对象具有相同的值。根原创 2017-08-03 16:35:50 · 443 阅读 · 0 评论 -
设计模式5——建造者模式
1. 什么是建造者模式Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。 Builder模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。2. 建造者模式的结构 1、Builder:为创建一个产品对象的各个部件指定抽象接口。 2、ConcreteBuilder原创 2017-08-03 19:10:05 · 334 阅读 · 0 评论 -
设计模式6——装饰模式
1.什么是装饰模式装饰( Decorator )模式又叫做包装模式。通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。2.装饰模式的结构举个栗子: 定义一个接口Car,里面有两个抽象类run(),show().public interface Car { public void show(); public void run();}如上图,该Car有两个实现,一个原创 2017-08-07 14:57:45 · 209 阅读 · 0 评论