
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 · 95 阅读 · 1 评论 -
动态代理
职责清晰:房东收钱,中介去找人,租客住宿 高扩展性:中介可以以任何形式宣传 智能化:中介可以过滤租客原创 2021-03-22 15:28:20 · 151 阅读 · 1 评论 -
观察者模式
定义 当触发某些事件执行的时候,通知其他对象执行相关操作 优点 建立了一套触发机制 缺点 浪费时间 容易死循环 使用场景 项目初始化 歧义 mq是异步的 观察者模式是同步的 案例原创 2021-03-09 20:29:41 · 3857 阅读 · 0 评论 -
单例模式
什么是单例模式: 整个项目中只有一个对象的类 特点: 1.内存中只有一个实例 2.只能自己创建自己的实例 3.给其他对象提供自己的实例 好处: 节省内存资源 应用场景 如果这个类用不到优点浪费内存 如果张三和李四一起调用Singleton2.getInstance()会有线程安全问题 存在性能问题,因为加上synchronized各个线程是串行的 依然存在线程安全问题,因为张三运行到 synchronized (Singleton4.class),线程的执行权利被李四抢走了,执行了singleton =ne原创 2021-03-09 14:13:50 · 81 阅读 · 0 评论 -
设计模式的分类
1.创建型 2.结构型 3.行为型原创 2021-03-08 16:53:32 · 75 阅读 · 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 · 152 阅读 · 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 · 183 阅读 · 1 评论 -
静态代理
静态代理的实现步骤 首先要抽象出一个被代理类接口,被代理类实现该接口。 代理和被代理类实现相同的接口 **注:**被代理类又叫委托类、目标类 优点 解耦 缺点 因为代理类和代理类实现了相同的接口,存在重复代码 如果接口增加一个方法,除了所有被代理类需要实现这个方法之外,还需要所有的代理类也实现这个方法,增加了代码的复杂度. 举例 /** *小明和小红都要将自己的房子出售或者出租 抽象出一个接口 */ public interface House { public void sell();原创 2021-02-14 20:18:27 · 195 阅读 · 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 · 98 阅读 · 0 评论 -
工厂方法模式和简单工厂方法模式
概念 在Java设计模式中使用工厂的概念,那就是生成对象的地方了。 作用 解耦,调用方和具体的目标类进行了解耦,调用方根本就不知道需要创建那个对象,它只是提出了条件,然后工厂就可以根据给定的条件来决定创建哪一个对象。 简单工厂方法模式 简单工厂方法模式并不是23种设计模式中的内容 简单工厂方法模式概念:所谓简单工厂方法模式,就是为目标类创建一个工厂,当有多个目标实现的时候,在这个工厂内部进行逻辑判断来根据条件创建不同的目标实例。 public interface Color { String原创 2021-02-13 00:04:02 · 200 阅读 · 1 评论