设计模式 行为型模式 观察者模式
描述观察者模式又叫发布订阅模式,拥有一个监听者,如果一个被监听者发生了改变则会通知到所有监听者。例子,警察和嫌疑犯之间就是观察者模式。微信朋友圈,相对于好友,你就是观察者,微信好友发送朋友圈你会收到通知 类图 代码实现123456789101112public class PoliceMan { private Str……
设计模式 结构型模式 桥接模式
描述 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。 这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。例子:总共又长方形、正方形、三角形、圆形四……
设计模式 结构型模式 外观模式
描述外观模式属于结构型模式的一种,当子系统的方法众多,可以引用外观模式在外观类将子方法的方法封装起来,外观类提供简单的api方法。外观类的方法屏蔽掉了复杂的api调用 类图下图为外观模式类图 代码12345public class SubMethod1 { public void method1(){ System.o……
设计模式 结构型模式 适配器模式
描述 适配器模式属于结构性模式,将适配类的api转化为目标类的api,如mac电脑使用的是typec的接口,连接显示器需要hdmi接口。我们要使用mac连接显示器,需要使用扩展坞,这其实就是适配器模式。 类图 分类 类适配是基于继承实现的 对象适配使用组合方式实现,更加灵活代码123456public class Ma……
设计模式 创建型模式 单例模式
描述 单例模式对于开发人员来讲并不陌生通过单利模式可以控制应用程序中,只有一个对象的实例,分为饿汉式和懒汉式.饿汉式在类加载的时候就初始化,懒汉模式拥有延迟加载的思想,在使用的时候创建。实现单例模式的思想就是私有构造方法。通过getInstance()方法获取对应实例 饿汉式12345678public class S……
设计模式 创建型模式 创建者模式
概述1、定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示2、主要作用:在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。3、如何使用:用户只需要给出指定复杂对象的类型和内容,建造者模式负责按顺序创建复杂对象(把内部的建造过程和细节隐藏起来)4、解决的问题:(1)、方便用户创……
设计模式 创建型模式 抽象方法模式
概述 抽象方法模式是工厂方法模式的一种扩展,最简单的抽象方法模式会退化成了工厂方法模式,抽象方法模式提出了产品族的一个概念。那么什么是产品族呢?还是以汽车为例,汽车是一个产品的抽象,汽车的型号就是汽车的产品族比如,suv,轿车,跑车。如果工厂模式创建的不是一个简单的产品,而是多个产品族的情况,那么就需要使用抽象方法模式……
设计模式 创建型模式 简单工厂模式
概述简单工厂模式又叫静态工厂模式,是属于创建型模式,工厂方法通过参数来控制创建不通的对象,这些对象都继承同一个夫类。 类图 代码实现12345678910111213public class CarFactory { public static Car getCar(String name) { if ("BMW".e……
设计模式 七大设计原则
下面是我对7大设计原则自己的理解 单一原则一个类只做一件事情 里氏替换原则1.合理继承2.继承 子类是为了扩展父类,而不是重写相关方法。 依赖倒置原则高模块不应该直接依赖低模块,而是应该依赖其抽象 开闭原则对扩展开放,对修改关闭 迪莱米原则一个类引用类一个类,被引用类应该尽可能的封装自己的属性和方法,让别的类知道的越少……