Java设计模式
.
Felix-Li
再小的帆也能远航。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【JAVA设计模式】- 代理模式
代理模式:创建具有现有对象的对象,以偏于向外界提供功能接口,是SpringAOP的底层 分类 静态代理和动态代理 角色分析 抽象角色:一般会使用接口或抽象类来实现 真实角色:被代理角色 代理角色:代理真实角色,附加一些附属操作 客户:访问代理的人 优缺点 优点 可以使真实角色的操作更加纯粹!不用去关注一些公共业务 公共也就交给代理角色!实现了业务的分工! 公共业务发生扩展的时候,方便集中管理 缺点 一个真实角色会产生一个代理角色,代码量增加开发效率变低 静态代理 实现之租房 Rent.java //租房原创 2020-07-25 18:28:11 · 209 阅读 · 0 评论 -
【JAVA设计模式】- 桥接模式
桥接模式 将抽象部分与它的实现部分分离,使它们可以独立地变化。它是一种对象结构型模式,又称为柄体模式或接口模式 优点与缺点 优点 桥接模式类似于多继承方案,但是多继承方案违背了类的单一职责原则,复用性比较差,类的个数也非常多,桥接模式是比多继承方案更好地解决方法。极大的减少了子类的个数,从而降低管理和维护的成本 桥接模式提高了系统的可扩充性,在两个变化维度中任意扩展一个维度,都不需要修改原有系统。符号开闭原则,就像一座桥,可以把两个变化的维度连接起来 缺点 桥接模式的引入会增加系统的理解与设计难度,由于聚合原创 2020-07-11 10:08:46 · 309 阅读 · 0 评论 -
【JAVA设计模式】- 适配器模式
适配器模式 将一个类的接口转换成客户希望的另外一个接口。 角色分析 目标接口:客户所期待的接口,目标可以是具体的或抽象的类,也可以是接口 需要适配的类:需要适配的类或适配者类 适配器:通过包装一个需要适配的对象,把原接口转换成目标对象 适配器分类 分为对象适配器和类适配 对象适配器优点 一个对象适配器可以把多个不同的适配到同一个目标 可以适配一个适配者的子类,由于适配器和适配者之间是关联关系,根据"里氏代换原则",适配者的子类也可通过该适配器进行适配 类适配器缺点 对于Java等不支持多重类集成的语言,一次原创 2020-07-10 09:59:03 · 219 阅读 · 0 评论 -
【JAVA设计模式】- 抽象工厂模式
抽象工厂模式 提供了一个创建一系列相关或者相互依赖对象的接口,无需指定它们具体的类 适用场景 客户端(应用层)不依赖于产品类实例如何被创建、实现等细节 强调一系列相关的产品对象(属于同一产品族)一起适用创建对象不需要大量的重复代码 提供一个产品类的库,所有的产品以同样的接口出现,从而使得客户端不依赖于具体的实现 优缺点 优点 具体产品在应用层的代码隔离,无需关心创建的细节 将一个系列的产品统一到一起创建 缺点 规定了所有可能被创建的产品聚合,产品簇中扩展新的产品困难 增加了系统的抽象性和理解难度 实现 X原创 2020-07-08 14:47:12 · 283 阅读 · 0 评论 -
【JAVA设计模式】- 工厂模式
工厂模式 实例化对象不使用new,用工厂方法实现 将选择实现类,创建对象统一管理和控制。从而将调用者跟实现类解耦 三种模式: 简单工厂模式 工厂方法模式 抽象工厂模式 应用场景 JDK中的Calendar的getInstance()方法 JDBC中的Connection对象的获取 Spring中IOC容器管理bean对象 反射中Class对象的newInstance方法 小结 简单工厂模式(静态工厂模式) 虽然某种程度上不符合设计原则,但实际使用最多 工厂方法模式 不修改已知类的前提下,通过增加新的工厂原创 2020-07-07 08:23:33 · 1428 阅读 · 0 评论 -
【JAVA设计模式】- 原型模式
原型模式 创建重复的对象,这种设计模式属于创建型模式,这种模式实现了一个原型接口,用于创建当前对象的克隆 克隆分为:浅克隆和深克隆 浅克隆 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所拷贝的对象,而不复制它所引用的对象。 深克隆 被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。换言之,深复制把要复制的对象所引用的对象.原创 2020-07-06 10:01:19 · 2559 阅读 · 0 评论 -
【JAVA设计模式】- 建造者模式
建造者模式也属于创建型模式,它提供了一种创建对象的最佳模式 用户只需要给定复杂对象的类型和内容,建造者模式负责按顺序创建复杂对象 应用场景 需要生成的产品对象有复杂的内部结构,这些产品对象具备共性 隔离复杂对象的创建和使用,并获得相同的创建过程可以创建不同的产品 适合于一个具有较多的零件(属性)的产品的创建过程 实现:盖房子之地基、钢筋工程、铺电线和粉刷 package com.li.builder.demo; //抽象的建造者:方法 public abstract class Builder原创 2020-07-05 15:00:52 · 2630 阅读 · 0 评论 -
【JAVA设计模式】- 设计模式概述
设计模式有23种,其实是一种面向对象设计原则的实际运用,是对类的封装性、继承性和多态性,以及类之间关系的更深理解。 设计模式分类 分为三种类型: 创建型模式(5种):单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。 结构型模式(7种):适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。 行为型模式(11种):模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)、访问者模原创 2020-05-23 20:49:57 · 509 阅读 · 0 评论 -
【JAVA设计模式】- 单例模式
概念 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种设计模式属于创建型模式。保证一个类仅有一个实例,并提供一个访问它的全局访问点。常用的有饿汉式和懒汉式两种。 单例模式一般体现在类声明中,单例的类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 优点 在内存里只有一个实例,减少了内存的开销,避免对资源的多重占用。 实现方式 一个类的对象的产生是由类构造函数来完成的。如果一个类对.原创 2020-05-23 12:31:59 · 499 阅读 · 0 评论
分享