![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
23种设计模式
Polarisy丶
这个作者很懒,什么都没留下…
展开
-
GOF的23种设计模式(8)—代理模式
代理模式静态代理角色分析:抽象角色:一般会使用接口或者抽象类来解决真实角色:被代理的角色代理角色:代理真实角色,代理真实角色后,我们一般会做一些附属操作客户:访问代理对象的人代理模式的好处可以使真实角色的操作更加纯粹,不用关注一些公共的业务公共也就是交给代理角色,实现了业务的分工公共业务发生扩展的时候,方便集中管理缺点:一个真实角色就会产生一个代理角...原创 2020-04-15 01:52:18 · 206 阅读 · 0 评论 -
GOF的23种设计模式(7)—桥接模式
桥接模式定义将抽象部分和它的实现部分分离,使它们都可以独立的变化。处理多层继承结构、处理多维变化的场景,将各个维度设计成独立的继承结构,使各个维度可以独立的扩展在抽象层建立关联。优点比多继承的方案更好,极大的减少了子类的个数,从而降低管理和维护的成本。提高了系统的可扩充性,在两个变化维度中任意扩展一个维度,都不需要修改原有系统,符合开闭原则。缺点增加...原创 2020-04-15 00:28:34 · 170 阅读 · 0 评论 -
GOF的23种设计模式(6)—适配器模式
适配器模式核心角色目标接口(Target):客户所期望的接口(接口、抽象类或具体类)。适配的类(Adaptee)。适配器(Adapter):通过包装适配的类,把原接口转换成目标接口。分类使用继承实现:Adapter继承Adaptee。使用关联实现:Adapter持有Adaptee的引用,Adapter可以继承其他类,更灵活。适用场景系统需要使用一些现有的类...原创 2020-04-14 23:51:11 · 170 阅读 · 0 评论 -
GOF的23种设计模式(5)—原型模式
原型模式定义通过new创建对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式。就是Java中的克隆技术,以某个对象为原型,复制出新的对象。优势:效率高,避免重新执行构建过程。克隆类似于new,但不同于new。new创建新的对象属性采用默认值。克隆出的对象属性完全与原型对象相同,并且克隆出的新对象改变不会影响原型对象,然后再修改克隆对象的值。核心Clonable接...原创 2020-04-14 22:32:49 · 166 阅读 · 0 评论 -
GOF的23种设计模式(4)—建造者模式
建造者模式定义构建一个复杂的产品时,需要解决“如何装配子组件”的问题。分离了对象子组件的单独构建(Builder)和装配(Director),从而构造出复杂对象。由于实现了构建和装配的解耦。不同的构建器、相同的装配,或者相同的构建器、不同的装配,都可以创建不同的对象。建造者模式一般与工厂模式搭配,由工厂模式创建子组件,再有建造者模式装配。优点产品的建造...原创 2020-04-14 21:50:04 · 511 阅读 · 0 评论 -
GOF的23种设计模式(2)—工厂模式
工厂模式效果实例化对象,用工厂方法代替new。实现了创建者和调用者的分离。将选择实现类、创建对象统一管理和控制,从而将调用者跟我们的实现类解耦。分类简单工厂模式:用来产生同一等级结构中的任意产品。对于增加新的产品,需要修改已有代码。工厂方法模式:用来产生同一等级结构中的固定产品。支持增加任意产品。抽象工厂模式:用来生产不同产品族的全部产品。对于增加新的产品,无能...原创 2020-04-14 17:34:41 · 537 阅读 · 0 评论 -
GOF的23种设计模式(3)—抽象工厂模式
抽象工厂模式定义提供一个创建一系列的相关的或者依赖的对象的接口,无需指定它们的具体实现类,具体的时间分别在子类工厂中产生。用来生产不同产品族的全部产品。对于增加新的产品,无能为力;支持增加产品族。优点具体产品在应用层的代码隔离,无需关心创建的细节。将一个系列的产品统一到一起创建。缺点规定了所有可能被创建的产品集合,产品簇中扩展新的产品困难。增加了系统的抽象性和理解难度。...原创 2020-04-14 16:33:40 · 535 阅读 · 0 评论 -
GOF的23种设计模式(1)—单例模式
设计模式单例模式效果保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。由于单例模式只生成一个实例,减少了系统性能开销,当一个对象的产生需要比较多的资源时,如读取配置、产生其他依赖对象时,则可以通过在应用启动时直接产生一个单例对象,然后永久驻留内存的方式来解决。分类常见实现方式饿汉式:线程安全,调用效率高,不能延时加载。懒汉式:线程安全,调用效率不高,可延时加载。...原创 2020-04-14 15:26:13 · 291 阅读 · 0 评论