![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 89
JAVA常用设计模式
@富士山下
永远保持一颗学徒的心
展开
-
《设计模式解析第二版》读后感
共性和可变性分析: 1.先寻找共性 2.从这些共性中创建抽象 3.从共性的变化寻找派生 4.看共性之间的关系如何 Facade(外观)模式:是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性 Adapter(适配者)模式:使控制范围之外的一个原有对象与某个接口匹配。将原有类包含在另一个类中。让包含类与需要的接口匹配,调用被包含类的方法。 Strate原创 2022-01-27 15:29:39 · 469 阅读 · 0 评论 -
工厂模式
在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。把new对象的工作交给工厂类去执行。 1.先定义一个接口 package com.yecc.suanfa.factory; /** * Created by yecc on 2020/11/27 15:24 */ public interface Shape { void draw(); } 2.三个类继承接口 package com.yecc.suanfa.factory; /**原创 2020-11-27 15:34:22 · 108 阅读 · 1 评论 -
策略模式(策略枚举)
首先定义一个接口: package com.yecc.suanfa.strategy; /** * Created by yecc on 2020/11/16 19:35 */ public interface Strategy { public int doOperation(int num1, int num2); } 定义三个继承接口的类: package com.yecc.suanfa.strategy; /** * Created by yecc on 2020/11/16原创 2020-11-20 10:43:05 · 1146 阅读 · 0 评论 -
使用 builder 模式解决构造方法参数过多的情况
静态工厂和构造方法都有一个限制:它们不能很好地扩展到很多可选参数的情景。请考虑一个代表包装食品上的营养成分标签的例子。这些标签有几个必需的属性——每次建议的摄入量,每罐的份量和每份卡路里 ,以及超过 20个可选的属性——总脂肪、饱和脂肪、反式脂肪、胆固醇、钠等等。大多数产品都有非零值,只有少数几个可选属性。应该为这样的类编写什么样的构造方法或静态工厂?传统上,程序员使用了可伸缩(telescoping constructor)构造方法模式,在这种模式中,只提供了一个只所需参数的构造函数,另一个只有一个可选参原创 2020-11-26 16:32:50 · 750 阅读 · 1 评论