设计模式(装饰者模式、单例模式)
装饰者模式
我就是我,“装饰”后颜色不一样的烟火。
- 定义:动态地将责任附加到对象上,若要扩展功能,装饰着提供了比继承更有弹性的方案
- 实际操作:定义抽象组件,继承了抽象组件的抽象装饰者,和相应的实际组件和实际装饰者,将组件对象作为参数放入装饰者类中,得到一个装饰过的对象
- 实际应用:Java I/O
例如:
抽象组件InputStream
具体组件:FileInputStream、StringBufferInputStream、ByteArrayInputStream
抽象装饰者:FilterInputStream
具体装饰者:BufferedInputStream、LineNumberInputStream
|
|
单例模式
无论何时出生,总是天下“无双”。
- 定义:确保一个类只有一个实例,并且提供一个全局访问点。
- 实际操作:根据是否一开始就生成实例分为“懒汉”和“饿汉”方式,此外出于多线程的考虑需要加上双重校验锁,或者使用内部类实现
- 实际应用:线程池、缓存、日志、驱动等
|
|