![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
邓闰土
我的简书 http://www.jianshu.com/u/f109f1576a46
展开
-
代理模式
为其他对象提供一种代理以控制对这个对象的访问. 在访问的对象之间添加一个中间层!/** * 创建car的接口 * @author fan * */public interface Car { public void drive();}/** * 车的实际类 * @author fan * */public class RealCar implements Car {原创 2017-05-22 22:49:33 · 153 阅读 · 0 评论 -
适配器模式
将一个类的接口转换成客户希望的另一个接口. /** * 已有的接口 * @author fan * */public interface Adaptee { void doFly();}/** * 已有的类 * @author fan * */public class AdapteeImp implements Adaptee { @Override pub原创 2017-05-22 20:46:07 · 400 阅读 · 0 评论 -
装饰者模式(Decorator):
动态的给一个对象添加一些额外的职责. /** * shape 接口 * @author fan * */public interface Shape { public void draw();}/** * circle 类 * @author fan * */public class Circle implements Shape { @Override p原创 2017-05-22 16:33:20 · 257 阅读 · 0 评论 -
策略模式
定义了算法家族, 分别封装起来, 让它们之间可以互相替换. //举例,假设有多个锦囊,没个锦囊中有不同的计谋/** * 计谋接口 * @author fan * */public interface Scheme { public String execute();}/** * 绿色计谋 * @author fan * */public class GreenSi原创 2017-05-22 14:55:25 · 163 阅读 · 0 评论 -
建造者模式
如果上帝是个java程序员,那么他创建万物的时候用一定是建造者模式。 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。//animal 接口public interface Animal { public String name() ; public int weight()原创 2017-05-21 23:51:13 · 280 阅读 · 0 评论 -
单例模式
单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。/** * 饿汉模式 * @author fan * */publi原创 2017-05-18 21:02:50 · 718 阅读 · 0 评论 -
抽象工厂模式
抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。/** * 创建一个接口 * @author fan * */public i原创 2017-05-18 20:50:55 · 348 阅读 · 0 评论 -
工厂模式
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。/** * 创建一个接口 * @author fan * */public interface Car { public void d原创 2017-05-18 20:46:36 · 335 阅读 · 0 评论 -
命令模式
将一个请求封装成为一个对象, 使可以用不同的请求对客户进行参数化. /** * 命令接收者 * @author fan * */public class Receiver { public void action() { // TODO Auto-generated method stub System.out.println("执行相关操作");原创 2017-05-23 10:25:46 · 183 阅读 · 0 评论 -
观察者模式
定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象,在它的状态发生变化时,会通知所有的观察者.import java.util.ArrayList;import java.util.List;/** * 内容提供者 * @author fan * */public class Subject { private List<Observe> observers = n原创 2017-05-22 23:56:29 · 153 阅读 · 0 评论 -
外观模式
为子系统中的一组接口提供一个一致的界面./** * 接口 * @author fan * */public interface Car { void driver();}/** * 实体 * * @author fan * */public class Bc implements Car { @Override public void driver() {原创 2017-05-22 23:30:41 · 148 阅读 · 0 评论 -
模板模式
定义一个操作中的算法骨架, 而将一些步骤延迟到子类中. 举例/** * 创建车的抽象类 * @author fan * */public abstract class Car { public abstract void Start(); public abstract void Go(); public void dirver() { Start原创 2017-05-22 23:21:32 · 147 阅读 · 0 评论 -
最常用的12种设计模式小结
1.策略模式(Strategy): 定义了算法家族, 分别封装起来, 让它们之间可以互相替换. 比如Collections.sort(List list, Comparator c); 可以通过实现多个Comparator接口来达到多种排序的目的. 2.装饰着模式(Decorator): 动态的给一个对象添加一些额外的职责. 比如java.io包. BufferedInputStream转载 2017-05-22 21:58:28 · 379 阅读 · 0 评论