软件设计模式
文章平均质量分 70
yiyiqwq
这个作者很懒,什么都没留下…
展开
-
结构型模式——享元模式
4.5 享元模式(Flyweight Pattern) 计算机世界中无穷无尽的可能,其本质都是由1和0两个“元”的组合变化而产生的。元,顾名思义,始也,有本初、根源的意思。“享元”则是共享元件的意思。享元模式的英文flyweight是轻量级的意思,这就意味着享元模式能使程序变得更加轻量化。当系统存在大量的对象,并且这些对象又具有相同的内部状态时,我们就可以用享元模式共享相同的元件对象,以避免对象泛滥造成资源浪费。 运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来减少需要创建的对象原创 2022-04-14 23:30:13 · 137 阅读 · 0 评论 -
结构型模式——适配器模式
4.4 适配器模式(Adapter Pattern) 适配器模式通常也被称之为转换器,是进行适应与匹配工作的物件。当一个对象或类的借口不能匹配用户所期待的接口时,适配器就充当了中间转换的角色,以达到兼容用户接口的目的,同时适配器实现了客户端与接口的解耦,提高了组件的可复用性。 适配器在生活中非常常见,如内存卡转换器、手机充电器、各种USB适配器等。 插头与插孔的冲突 有如下情况,买了一台新的电视机,电源插头是二相的,墙上插孔是三相的,电视无法正常使用。 //三相接口 public interface T原创 2022-04-09 20:03:21 · 509 阅读 · 0 评论 -
结构型模式——装饰器模式
4.3 装饰器模式(Decorator Pattern) 装饰指在某件物件上装点额外饰品的行为,使其原本朴素的外表变得更加饱满、华丽。装饰器模式能够在运行时动态地为原始对象增加一些额外的功能,使其更加强大。 优点: 装饰器是继承的有力补充,比继承灵活,在不改变原有对象的情况下,动态地给一个对象扩展功能 通过使用不同装饰类以及这些装饰类的排列组合,可以实现不同的效果 装饰器模式遵守开闭原则 缺点: 装饰器模式会增加许多子类,过度使用会增加程序的复杂性 模式的结构与实现 装饰器模式主要包含如下角色:原创 2022-04-05 22:09:23 · 91 阅读 · 0 评论 -
结构型模式——组合模式
4.2 组合模式(Composite Pattern) 组合模式是针对由多个节点对象(部分)组成的树形结构的对象而发展出的一种结构性设计模式,能够使客户端在操作整体对象或者其下的每个节点对象时做出统一的响应,保证树形结构对象使用方法的一致性,使客户端不必关注对象的整体或部分,最终达到对象复杂度的层次结构与客户端解耦的目的。 优点: 组合模式使得客户端代码可以一致处理单个对象和组合对象,无须关系自己处理的是单个对象还是组合对象; 更容易在组合体内加入新的对象,客户端不会因为新加入的对象而修改源代码,符合原创 2022-04-03 21:56:58 · 65 阅读 · 0 评论 -
结构型模式——外观模式
四、结构型模式 4.1 外观模式(Facade Pattern) 外观模式(门面模式)作为最简单的结构型模式,能将多个不同的子系统接口封装起来,并对外提供统一的高层接口。无论是“门”还是“面”指代的都是某系统的外观部分,也就是外界接触的临界面或接口。 利用外观模式,我们可以把多个子系统“关”在门里面隐藏起来,成为一个整合在一起的大系统,成为一个整合在一起的大系统,来自外部的访问只需要通过“门面”(接口)来进行,而不选哟关注其内部如何运转。 优点: 降低了子系统与客户端之间的耦合度,使得子系统的变化不会原创 2022-04-02 19:18:44 · 248 阅读 · 0 评论 -
创建者模式——建造者模式
3.4 建造者模式 在软件开发过程中有时需要创建一个复杂的对象,这个复杂对象通常由多个子部件按一定的步骤组合而成。例如,计算机是由 CPU、主板、内存、硬盘、显卡、机箱、显示器、键盘、鼠标等部件组装而成的,采购员不可能自己去组装计算机,而是将计算机的配置要求告诉计算机销售公司,计算机销售公司安排技术人员去组装计算机,然后再交给要买计算机的采购员。 建造者(Builder)模式的定义:将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示。它将一个复杂的对象分解为多个简单的对象,然后一步一原创 2022-03-29 17:30:15 · 103 阅读 · 0 评论 -
创建者模式——工厂模式(简单工厂模式、工厂方法模式、抽象工厂模式)
3.3 工厂模式 工厂模式的定义:定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。这满足创建型模式中所要求的“创建与使用相分离”的特点。 3.3.1 简单工厂模式(Simple Factory Pattern) 简单工厂模式中创建实例的方法通常为静态方法,因此简单工厂模式(Simple Factory Pattern)又叫作静态工厂方法模式(Static Factory Method Pattern)。 优点: 工厂类包含必要的逻辑判断,可以决定在什么时候创建哪一个产品的实原创 2022-03-28 16:48:00 · 288 阅读 · 0 评论 -
创建者模式——原型模式
3.2 原型模式(Prototype) 原型模式(Prototype),在制造业中通常是指大批量生产开始之前研发出的概念模型,并基于各种参数指标对其进行检验,如果达到了质量要求,即可参照这个原型进行批量生产。原型模式达到以原型实例创建副本实例的目的即可,并不需要知道其原始类,也就是说,原型模式可以用对象创建对象,而不是用类创建对象,以此达到效率的提升。 结构 原型模式包含如下角色: 抽象原型类:规定了具体原型对象必须实现的clone()方法。 具体原型类:实现抽象原型类的clone()方法,是可被复制的对原创 2022-03-27 23:13:19 · 309 阅读 · 0 评论 -
创建者模式——单例模式
3.1 单例模式(Singleton) 单例模式(Singleton)是一种非常简单且容易理解的设计模式。顾名思义,单例即单一的实例,确切地讲就是指在某个系统中只存在一个实例,同时提供集中、统一的访问接口,以使系统行为保持协调一致。Singleton一词在逻辑学中指“有且仅有一个元素的集合”,这非常恰当地概括了单例的概念,也就是“一个类仅有一个实例”。 单例模式涉及到类负责创建自己的对象,同时保证只有该类只有一个对象被创建。并提供了访问唯一对象的方法,可以直接访问,不需要实例化该类的对象。 实现方法 单例原创 2022-03-26 22:48:50 · 305 阅读 · 0 评论