🚀 优质资源分享 🚀
学习路线指引(点击解锁) | 知识定位 | 人群定位 |
---|---|---|
🧡 Python实战微信订餐小程序 🧡 | 进阶级 | 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。 |
💛Python量化交易实战💛 | 入门级 | 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统 |
简述
- 类型:结构型
- 目的:解决接口不兼容问题。
话不多说,看个案例吧。
优化案例
最初版v0
在真实的开发场景中,系统的每个模块都是分配给不同的团队或个人来开发的。这使得事前沟通变得尤为重要,且沟通问题也时有发生。现在公司有两个模块无法兼容,难道只能重写其中的一个吗?
| | class User { |
| | String name; |
| | String sex; |
| | int age; |
| | // 剩下的属性就不写了,都是废话没啥意义 |
| | public User(String name, String sex, int age) { |
| | this.name = name; |
| | this.sex = sex; |
| | this.age = age; |
| | } |
| | } |
| | interface Filter { |
| | List findAll(); |
| | User findByName(String name); |
| | } |
| | class FilterImpl implements Filter { // Adaptee |
| | List users; |
| | public FilterImpl(List users) { |
| | this.users = users; |
| | } |
| | public List findAll() { |