GOF设计模式之装饰模式(decorator)与外观模式(Facade)
装饰模式(decorator)
动态的为一个对象增加新功能。
装饰模式是一种用于代替继承的技术,无需通过继承增加子类就能扩展对象的新功能。使用对象的关联关系代替继承关系,更加灵活,同时避免类型体系的快速膨胀。
抽象组件与实现
1 | /** |
测试
1 | ublic class Client { |
结果
在陆地上跑
—添加功能—
在陆地上跑
在天上飞
—添加功能—
在陆地上跑
在天上飞
在水上漂
—拥有功能—
在陆地上跑
在水上漂
在天上飞
自动驾驶
外观模式(Facade)
这个模式经常在编程中使用,不管你听没听过这个名字,此模式就是对用户隐藏程序运行细节,只提供一个接口就可以实现。
代码(代码来自博客)
1 | //https://blog.csdn.net/u012361379/article/details/88820428 码农日常 |
结果
子系统01的method1()被调用!
子系统02的method2()被调用!
子系统03的method3()被调用!