设计模式
m&u
知其然,知其所以然
展开
-
HeadFirst_05,观察者模式
定义观察者模式定义了对象之间一对多依赖,这样一来,当一个对象改变状态时,它所依赖者都会收到通知并自动更新原创 2020-09-20 23:11:57 · 65 阅读 · 0 评论 -
HeadFirst_04,单件模式
定义单件模式是确保一个类只能有一个实体类对象,并提供一个全局的访问点,也称之为单例模式;实现点在于提供一个私有的构造器,通过方法获取代码演示public class Singleton { private static Singleton singleton; private Singleton (){} public static Singleton getInstance(){ if(singleton==null){原创 2020-09-06 19:08:11 · 135 阅读 · 0 评论 -
HeadFirst_03,装饰者模式
定义动态的将责任附加到对象上。想要扩展功能,装饰者提供有别于继承的另一种选择。注:设计原则,类应该对扩展开放,对修改关闭。这样做的目的是由于,这样类易于扩展,在不修改原有代码的情况下,可以搭配新的行为,这样的设计具有弹性可以应对改变,便于扩展装饰者模型类图代码实现被装饰类/** * 装饰者模式 * * 饮料抽象类,所有的beverage都要继承超类 * @author utopia * @date 20200823 */public abstract class Bev原创 2020-08-23 21:14:45 · 118 阅读 · 0 评论 -
HeadFirst_02,工厂模式
对象的创建在java中对象是由new关键字创建,从技术上来说,用new创建对象没什么大问题,但是这种new出来的对象缺乏灵活性;**工厂模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个,工厂方法让类把实例化推迟到之类。**这可能就是我一直以来无法理解控制反转意义的原因;具体代码-创建pizza抽象类public abstract class Pizza { public void prepare(){}; public void bake(){}; publ原创 2020-08-09 22:56:57 · 77 阅读 · 0 评论 -
HeadFirst_01,策略模式
HeadFirst示意图策略者模式定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。书籍内容介绍:相关源码地址:https://github.com/wenutopia/HeadFirst.git网上相关内容介绍策略模式中主要有3个角色抽象策略接口:抽象策略接口,接口中定义了抽象的策略算法具体的策略实现类:具体的策略实现。不同的策略实现类都实现了抽象策略接口,并重写了其抽象策略方法。因为都实现了相同的策略接口,因而算法可以相互替换,并且可以动态的改原创 2020-07-26 23:40:42 · 122 阅读 · 0 评论