![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
设计模式与数据结构一样,都属于内功心法,本专栏通过学习《大话设计模式》和《设计模式》进行深度思考与吸收哦
To_be_thinking
不积跬步,无以至千里。因为热爱而充满激情与斗志!!!
展开
-
装饰器模式(Decorator Pattern)
package DesignPattern.DecoratorPattern;public class Person { public Person(){ } private String name; public Person(String name){ this.name=name; } public void show...原创 2019-09-05 14:09:12 · 189 阅读 · 0 评论 -
命令模式(command line)
意图:将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化。主要解决:在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧耦合的设计就不太合适。何时使用:在某些场合,比如要对行为进行"记录、撤销/重做、事务"等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将"行为请求者"与"行...原创 2019-09-07 11:10:01 · 5230 阅读 · 0 评论 -
桥接模式(Bridge Pattern)
优点: 1、抽象和实现的分离。 2、优秀的扩展能力。 3、实现细节对客户透明。缺点:桥接模式的引入会增加系统的理解与设计难度,由于聚合关联关系建立在抽象层,要求开发者针对抽象进行设计与编程。使用场景:1、如果一个系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性,避免在两个层次之间建立静态的继承联系,通过桥接模式可以使它们在抽象层建立一个关联关系。2、对于那些不希望使用继承或因为多...原创 2019-09-07 10:13:43 · 198 阅读 · 0 评论 -
观察者模式(Observer Pattern)
观察者接口package ObserverPattern.Weather;public interface Observer { public void update(float temp,float humidity,float pressure);}天气数据类(观察者)package ObserverPattern.Weather;import java.util.A...原创 2019-09-06 11:05:58 · 143 阅读 · 0 评论 -
单例模式(Singleton Pattern)
单例模式一共有8种写法,各有自己的优缺点和适应场景。package Singleton;public class Singleton0 { private final static Singleton0 INSTANCE=new Singleton0(); private Singleton0(){ } public static Singleton0...原创 2019-09-06 10:00:32 · 206 阅读 · 0 评论 -
代理模式(Proxy Pattern)
package DesignPattern.ProxyPattern;public interface IGiveGift { void GiveDolls(); void GiveFlowers(); void GiveChocolate();}package DesignPattern.ProxyPattern;public class SchoolGi...原创 2019-09-05 22:38:45 · 156 阅读 · 0 评论 -
简单工厂模式(Single Factory Pattern)
package DesignPattern.FactoryMethodPattern;public class Operation { private double a=0; private double b=0; public double getA() { return a; } public void setA(double ...原创 2019-09-05 22:36:18 · 213 阅读 · 0 评论 -
策略模式(Strategy Pattern)
策略模式是一种定义一系列算法的方法,从概念上来说所有这些算法完成的都是相同的工作,只是具体的实现不同,它可以以相同的方法调用所有算法,减少了各种具体算法类与算法使用类之间的耦合。策略模式的另一个优点就是简化了单元测试,因为每个具体算法都有自己的类,可以通过自己的接口进行单元测试。策略模式就是用来封装不同的算法的,但在实践中,可以用它封装几乎任何类型的规则,只要在不同时间应用不同的业务规则,就可以...原创 2019-09-05 22:29:37 · 156 阅读 · 0 评论 -
抽象工厂模式(Abstract Factory Pattern)
接口package DesignPattern.AbstractFactoryPattern;public interface Shape { void draw();}package DesignPattern.AbstractFactoryPattern;public interface Color { void fill();}具体实现类package D...原创 2019-09-08 14:48:55 · 206 阅读 · 0 评论