摘要: Java 注解(Annotation)是 JDK5.0 引入的一种注释机制。Java 注解可以通过反射获取注解内容。在编译器生成类文件时,注解可以被嵌入到字节码中。Java 虚拟机可以保留注解内容,在运行时可以获取到注解内容 。 内置注解 @override: 表示重写方法,若父类或引用的接口没有该 阅读全文
posted @ 2020-09-22 19:56 whyha 阅读(132) 评论(1) 推荐(0)
摘要: 模板方法模式定义了一个算法的步骤,并允许子类别为一个或多个步骤提供其实践方式。让子类别在不改变算法架构的情况下,重新定义算法中的某些步骤。 UML: 角色说明: AbstractClass:实现了模板方法,定义了算法骨架,子类需要实现抽象方法 operation1、2、3... ConcreteCl 阅读全文
posted @ 2020-09-19 01:59 whyha 阅读(126) 评论(0) 推荐(0)
摘要: 为其他对象提供一种代理以控制对这个对象的访问。 代理模式分为:静态代理、动态代理(JDK代理、cglib代理) 解决问题: 在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象 阅读全文
posted @ 2020-09-17 12:55 whyha 阅读(79) 评论(0) 推荐(0)
摘要: 享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用来提高性能。 UML: 享元模式 ≈ 工厂模式 + 单例模式(提供对象池)+ 组合模式(组合非享元对象) 享元模式的结构: 两种状态: 内部状态:存储在享元内部,不会随环境的改变而有所不同,是可以共享的。 外部状 阅读全文
posted @ 2020-09-15 10:21 whyha 阅读(200) 评论(0) 推荐(0)
摘要: 外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。向现有的系统添加一个接口,来隐藏系统内部。客户端只需要调用接口、而无需在意实现细节 UML: 外观模式的主要角色: Facade:外观角色 Client:外观接口调用者 子系统:各个功能模块,完成 阅读全文
posted @ 2020-08-21 00:56 whyha 阅读(138) 评论(0) 推荐(0)
摘要: 将对象组合成树形结构以表示“部分-整体”的层次结构。创建一个包含自己对象组的类,提供修改对象组的方式,让用户对单个对象和组合对象的访问具有一致性 UML: Composite对象结构: 组合模式的主要角色: Component(抽象组件):为组合中所有对象提供一个接口,适当情况下实现所有类共有的接口 阅读全文
posted @ 2020-08-18 21:09 whyha 阅读(176) 评论(0) 推荐(0)
摘要: 装饰器模式(Decorator Pattern)是在不必改变原类文件且不使用继承的情况下,动态地扩展一个对象的功能。通过创建了一个装饰类,用来包装原有的类,来通过额外的功能。 装饰模式中的角色: 抽象组件(Component):抽象接口,规范接收附加功能的对象。 具体构件(Concrete Comp 阅读全文
posted @ 2020-08-16 03:58 whyha 阅读(150) 评论(0) 推荐(0)
摘要: 桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。 UML: Cast: 画一个图形,可以画长方形、正方形、圆形、三角形等;每个形状可以有白色、红色、蓝色、黄色、绿色等,最简单的 阅读全文
posted @ 2020-08-13 23:05 whyha 阅读(157) 评论(0) 推荐(0)
摘要: 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。允许通常因为接口不兼容而不能在一起工作的类工作在一起 类适配器: 类适配器的3个角色: 目标(Target)接口:当前系统业务所期待的接口(或抽象类) 适配者( 阅读全文
posted @ 2020-08-13 14:27 whyha 阅读(138) 评论(0) 推荐(0)
摘要: 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式的四个角色: Product(产品):具体的产品对象 AbstractBuilder(抽象建造者):创建Product对象 阅读全文
posted @ 2020-08-07 02:26 whyha 阅读(116) 评论(0) 推荐(0)