![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 84
追梦的鱼v
一代码,一世界。
展开
-
模板方法模式(Template Method)
????以下内容同步发布在我的个人博客https://www.lvjguo.top????1 介绍定义:定义一个操作中的算法的骨架,并允许子类为一个或多个步骤提供实现。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。类型:行为型适用场景:一次性实现一个算法的不变的部分,并将可变的行为留给子类实现各子类中公共的行为被提取出来并集中到一个公共的父类中,从而避免代码重复优点: 1、封装不变部分,扩展可变部分。 2、提取公共代码,增强复用性,便于维护。 3、行为由父类控制,原创 2021-12-07 14:36:07 · 496 阅读 · 0 评论 -
外观模式(Facade Pattern)
1 介绍定义:又叫门面模式,提供一个统一的接口,用来访问子系统中的一组接口,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用类型:结构性适用场景:子系统越来越复杂,增加外观模式提供简单调用接口构建多层系统结构,利用外观对象作为每层的入口,简化层间调用优点:简化了调用过程,无需了解深入子系统,防止带来风险减少系统依赖、松散耦合更好的划分访问层次符合迪米特法则,即最少知道原则缺点:增加子系统、扩展子系统行为容易引入风险不符合开闭原则UML类图:2 示例原创 2021-10-21 14:48:48 · 222 阅读 · 0 评论 -
建造者模式(Builder Pattern)
????以下内容同步发布在我的个人博客https://www.lvjguo.top????建造者模式1 介绍定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示特征:用户只需指定需要建造的类型就可以得到他们,建造的过程和细节不需要知道类型:创建型适用场景:如果一个对象有非常复杂的内部结构(很多属性),想把复杂对象的创建和使用分离需要生成的产品对象的属性相互依赖。建造模式可以强制实行一种分步骤进行的建造过程,因此,如果产品对象的一个属性必须在另一个属性被赋值之后才可原创 2021-10-21 10:25:34 · 108 阅读 · 0 评论 -
原型模式(Prototype Pattern)
????以下内容同步发布在我的个人博客https://www.lvjguo.top????1 介绍定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。特点:不需要知道任何创建的细节,不调用构造函数类型:创建型适用场景:类初始化消耗较多资源new产生的一个对象需要非常繁琐的过程(数据准备、访问权限等)构造函数比较复杂循环体中生产大量对象时优点:比直接new一个对象性能高简化创建过程缺点:必须配备克隆方法,需要对类的功能进行通盘考虑对克隆复杂对象或对克隆原创 2021-10-21 10:24:20 · 188 阅读 · 0 评论 -
单例模式(Singleton Pattern)
????以下内容同步发布在我的个人博客https://www.lvjguo.top????1 介绍定义:确保一个类只有一个实例,并为整个系统提供一个全局访问点 (向整个系统提供这个实例)类型:创建型适用场景:1、要求生产唯一序列号。2、创建的一个对象需要消耗的资源过多,比如 I/O 与数据库的连接等。··· ···优点:在内存中只有一个实例,减少了内存的开销可以避免对资源的多重占用,比如文件的写操作设置全局访问点,严格控制访问缺点:没有接口,扩展困难。结构:单例的原创 2021-10-19 17:35:35 · 161 阅读 · 0 评论