![](https://img-blog.csdnimg.cn/20190828230956460.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Design Pattern
设计模式是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。
lazy_cat_go
这个作者很懒,什么都没留下…
展开
-
单例模式
package singleton;/** * 单例模式的特点 * 1.内存中只有一个实例 * 2.只能自己创建自己的实例 * 3.给其他对象提供自己的实例 */public class Singleton1 { private static Singleton1 singleton = new Singleton1(); private Singleton1(){ } public static Singleton1 getInstance(){原创 2021-03-23 20:21:36 · 60 阅读 · 1 评论 -
动态代理
职责清晰:房东收钱,中介去找人,租客住宿高扩展性:中介可以以任何形式宣传智能化:中介可以过滤租客原创 2021-03-22 15:28:20 · 113 阅读 · 1 评论 -
观察者模式
定义当触发某些事件执行的时候,通知其他对象执行相关操作优点建立了一套触发机制缺点浪费时间容易死循环使用场景项目初始化歧义mq是异步的观察者模式是同步的案例原创 2021-03-09 20:29:41 · 3824 阅读 · 0 评论 -
单例模式
什么是单例模式:整个项目中只有一个对象的类特点:1.内存中只有一个实例2.只能自己创建自己的实例3.给其他对象提供自己的实例好处:节省内存资源应用场景如果这个类用不到优点浪费内存如果张三和李四一起调用Singleton2.getInstance()会有线程安全问题存在性能问题,因为加上synchronized各个线程是串行的依然存在线程安全问题,因为张三运行到 synchronized (Singleton4.class),线程的执行权利被李四抢走了,执行了singleton =ne原创 2021-03-09 14:13:50 · 58 阅读 · 0 评论 -
设计模式的分类
1.创建型2.结构型3.行为型原创 2021-03-08 16:53:32 · 47 阅读 · 0 评论 -
面向对象编程常用的设计原则
1.单一职责原则(Single Responsibility Principle):一个类只做一类原则2.开闭原则(Open-closed Principle):对扩展开放,对修改关闭,也就是在不修改源码的情况下改变对象的行为。3.里氏替换原则(Liskov Substitution Principle):一个可以接受父类对象的变量,必然可以接受一个子类对象,是开闭原则的实现。Faster f = new Faster();Faster f = new Son();4.依赖倒置原则(Depende原创 2021-03-07 23:13:40 · 125 阅读 · 0 评论 -
门面模式
门面模式又称外观模式特点封装核心外部与一个子系统的通信必须通过一个统一的外观对象进行,使得子系统更易于使用。典型应用场景【强制】应用中不可直接使用日志系统(Log4j、Logback)中的API,而应依赖使用日志框架SLF4J中的API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。import org.slf4j.Logger;import org.slf4j.LoggerFactory;private static final Logger logger = Logg原创 2021-02-16 00:05:44 · 151 阅读 · 1 评论 -
静态代理
静态代理的实现步骤首先要抽象出一个被代理类接口,被代理类实现该接口。代理和被代理类实现相同的接口**注:**被代理类又叫委托类、目标类优点解耦缺点因为代理类和代理类实现了相同的接口,存在重复代码如果接口增加一个方法,除了所有被代理类需要实现这个方法之外,还需要所有的代理类也实现这个方法,增加了代码的复杂度.举例/** *小明和小红都要将自己的房子出售或者出租 抽象出一个接口 */public interface House { public void sell();原创 2021-02-14 20:18:27 · 149 阅读 · 1 评论 -
策略模式
策略,指的是可以实现目标的方案集合public interface IStrategy { void operate();}public class AStrategy implements IStrategy { public void operate() { System.out.println("A策略"); }}public class BStrategy implements IStrategy { public void opera原创 2021-02-13 14:33:27 · 65 阅读 · 0 评论 -
工厂方法模式和简单工厂方法模式
概念在Java设计模式中使用工厂的概念,那就是生成对象的地方了。作用解耦,调用方和具体的目标类进行了解耦,调用方根本就不知道需要创建那个对象,它只是提出了条件,然后工厂就可以根据给定的条件来决定创建哪一个对象。简单工厂方法模式简单工厂方法模式并不是23种设计模式中的内容简单工厂方法模式概念:所谓简单工厂方法模式,就是为目标类创建一个工厂,当有多个目标实现的时候,在这个工厂内部进行逻辑判断来根据条件创建不同的目标实例。public interface Color { String原创 2021-02-13 00:04:02 · 168 阅读 · 1 评论