设计模式
文章平均质量分 79
火车上遇见
这个作者很懒,什么都没留下…
展开
-
设计模式Java实现——序言(0)
设计模式是很有经验的面向对象的程序员总结出的最佳实践,这个系列主要来自于翻译https://www.tutorialspoint.com/design_pattern/index.htm上的所有设计模式,通过简单的示例帮助人们理解各种设计模式的概念。 设计模式最早是由Gang of Four在Design Patterns - Elements of Reusable Object-Orie原创 2016-12-02 17:59:18 · 319 阅读 · 0 评论 -
Java实现(11)——外观模式(Facade Pattern)
外观模式隐藏系统的复杂性,提供用户统一的接口访问系统。public interface Shape { void draw();}public class Circle implements Shape { @Override public void draw() { System.out.println("Circle::draw()")原创 2016-12-17 10:27:11 · 382 阅读 · 0 评论 -
Java实现(10)——装饰者模式(Decorator Pattern)
装饰者模式允许开发者向一个已经存在的对象中增加新的功能,而不改变对象的结构。这种模式创建一个原类的包装类,通过提供额外的功能保持原有对象的简洁性。本例中通过创建一个Shape接口,具体实现Shape接口的类,创建装饰类ShapeDecorator实现Shape接口,同时拥有一个Shape对象的实例。public interface Shape { void draw();}p原创 2016-12-17 10:13:22 · 357 阅读 · 0 评论 -
Java实现(09)——组合模式(Composite Pattern)
组合模式将一组对象以树的形式看成一个整体。import java.util.ArrayList;import java.util.List;/** * Created by wang on 16-12-17. */public class Employee { private String name; private String dept; pri原创 2016-12-17 09:49:19 · 693 阅读 · 0 评论 -
Java实现(08)——过滤器模式(Filter Pattern)
过滤器模式可以帮助开发者根据一些条件来选择对象,也可以是这些条件的组合。本例创建一个Person类,和Criteria接口,以及具体的实现。public class Person { private String name; private String gender; private String maritalStatus; public Perso原创 2016-12-17 09:20:42 · 2604 阅读 · 0 评论 -
Java实现(07)——桥接模式(Bridge Pattern)
桥接模式用于连接两个不相干的抽象实现,这种模式中存在一个当做桥梁的接口,本例展示可以用不同的颜色画一个圆,但是提供相同的抽象接口。public interface DrawAPI { public void drawCircle(int radius, int x, int y);}public class RedCircle implements DrawAPI {原创 2016-12-08 08:43:55 · 534 阅读 · 0 评论 -
Java实现(06)——适配器模式(Adapter Pattern)
适配器模式用于连接两个不兼容的接口,生活中的一个例子就是笔记本需要通过读卡器读取内存卡中的数据,读卡器就相当于适配器。本例中使用MediaAdapter继承MediaPlayer接口,同时使用AdvancedMediaPlayer中类的对象。public interface AdvanceMediaPlayer { public void playVlc(String fi原创 2016-12-07 20:35:07 · 441 阅读 · 0 评论 -
Java实现(05)——原型模式(Prototype Pattern)
原型模式通过给出一个原型对象来指明所创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。public abstract class Shape implements Cloneable { private String id; protected String type; abstract void draw(); public Str原创 2016-12-06 10:55:00 · 518 阅读 · 0 评论 -
Java实现(04)——建造者模式(Builder Pattern)
建造者模式一步一步地通过简单的对象创建复杂的对象。本例介绍快餐店中的快餐,快餐有汉堡和饮料,汉堡分为蔬菜汉堡和肌肉汉堡,饮料分为百事和可口可乐。汉堡需要盒子来装,可乐需要瓶子。通过创建一个Meal类来表示点的快餐。创建食物以及包装原创 2016-12-06 09:22:02 · 1138 阅读 · 0 评论 -
Java实现(03)——单例模式(Singleton Pattern)
单例模式是Java模式中最简单的模式之一,这种模式只允许用户创建一个类的实例。本例中创建一个SingleObject类,它有一个私有的构造器,和一个静态成员变量,通过静态方法获取唯一的实例。public class SingleObject { // create an object of SingleObject private static SingleObje原创 2016-12-05 19:48:34 · 459 阅读 · 0 评论 -
Java实现(02)——抽象工厂模式(Abstract Factory Pattern)
抽象工厂模式建立父类的工厂,通过父类创建子类工厂,通过子类工厂创建对象。本例中有两个接口Shape和Color,通过两个子工厂,ShapeFactory和ColorFactory,父类工厂FactoryProducer生成相应的子类工厂。public interface Shape { void draw();}public class Square implements Sha原创 2016-12-05 19:32:19 · 474 阅读 · 0 评论 -
Java实现(01)——工厂模式(Factory Pattern)
在Java中工厂模式是最常用的模式之一,提供了一种非常好的创建对象的的方法,因此可以将这种模式归类于创建型模式。在工厂模式中,用户可以很容易地创建对象而不需要知道内在的逻辑,可以使用通用的接口引用创建的对象。 本例中创建一个Shape类型的接口,和Cricle, Square, Rectangle实现的类,创建一个ShapeFactory工厂类,示例通过向ShapeFactory中传递(CI原创 2016-12-02 19:48:10 · 485 阅读 · 0 评论 -
Java实现(12)——轻量级模式(FlyWeight Pattern)
轻量级模式用于减少对象的数量,减少内存的使用以及增加程序的性能。它通过重复利用已存在的相似的对象来达到减少对象数量,如果没有相匹配的对象则会创建新的对象。本例中需要画20个不同位置的圆,但是只创建5个对象。public interface Shape { void draw();}import java.util.HashMap;/** * Created by w原创 2016-12-17 10:53:12 · 692 阅读 · 0 评论