![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【八股】设计模式
白速龙王的回眸
一命二运三风水
四积功德五读书
六名七相八敬神
九交贵人十养生
展开
-
【设计模式】模板模式,装饰器模式,观察者模式
【模板模式】 模板模式定义了一个操作中的算法的骨架,并将一些步骤延迟到子类,适用于抽取子类重复代码到公共父类。可以封装固定不变的部分,扩展可变的部分。但每一个不同实现都需要一个子类维护,会增加类的数量。 算法的通用模块 【装饰器模式】 装饰器模式可以动态地给对象添加一些额外地属性或行为,即需要修改原有地功能,但又不愿直接去修改原有的代码时,设计一个Decorator套在原有代码外面 不想改,额外加点东西 【观察者模式】 观察者模式表示的是一种对象与对象之间具有的依赖关系,当一个对象的状态发生改变时,所有依赖原创 2022-03-03 14:20:11 · 222 阅读 · 0 评论 -
【设计模式】单例、代理、适配器
【单例模式】 1.一个单例类在任何情况都只存在一个实例 饿汉式实现: 饿汉式的特点是一开始就加载了,用空间换时间 不管之后会不会使用,都会占一定内存,第一次调用也快 懒汉式: 懒汉式延迟加载,直到用到的时候才会加载 但本身是非thread安全的,可以参考thread安全的实现 第一次调用的时候要初始化,性能有所延迟 【代理模式】 代理模式为其他对象提供一种代理以控制对这个对象的访问。 优点是可以增强目标对象的功能,降低代码耦合度 缺点是在client和目标对象之间增加代理对象会导致请求处理速度变慢,增加原创 2022-03-02 11:48:04 · 114 阅读 · 0 评论 -
设计模式八股文:分类和工厂模式
【简述设计模式的分类】 1.创建型模式:在创建对象的同时隐藏创建逻辑,不适用new直接实例化 2.结构性模式:通过类和接口间的继承和引用实现创建复杂结构的对象 3.行为型模式:通过类之间不同通信方式实现不同行为 【简单工厂模式】 简单工厂模式指由一个工厂对象来创建实例,适用于工厂类负责创建对象较少的情况 Spring中的BeanFactory使用简单工厂模式,产生Bean对象 【工厂模式】 工厂模式指定义一个创建对象的接口,让接口的实现类决定创建哪种对象,让类的实例化推迟到子类中进行。 Spring中的Fa原创 2022-03-01 11:52:15 · 579 阅读 · 0 评论 -
设计模式八股文【七大原则】
【简述设计模式七大原则】 1.开放封闭原则:对扩展开放,对修改关闭。在程序进行拓展的时候,不修改原有的代码,实现热插拔 的功能(热插拔(hot-plugging或Hot Swap)即带电插拔,热插拔功能就是允许用户在不关闭系统,不切断电源的情况下取出和更换损坏的硬盘、电源) 2.单一职责原则:一个类,接口或方法只负责一个职责,降低代码复杂度以及变更引起的风险 3.依赖倒置原则:针对接口编程,依赖于抽象类或接口而不依赖于具体实现类 4.接口隔离原则:将不同功能定义在不同接口中实现接口隔离 5.里氏替换原则:任原创 2022-02-28 11:19:26 · 256 阅读 · 0 评论