欢迎光临散文网 会员登陆 & 注册

设计模式(3)设计模式的基本原则(上)封装变化的内容、面向接口编程、多用组合

2023-08-10 00:53 作者:zzk13180  | 我要投稿

## 设计模式的基本原则(上)


总体来说设计模式是为了让我们的代码更加可读、可扩展、可复用、易于理解和维护。


设计模式的基本原则主要包括以下几点:


1. **封装变化的内容**


封装是面向对象编程的基本特性,它可以将对象的内部状态和行为隐藏起来,只暴露抽象的接口供外部使用。


封装变化的内容指的是将可能变化的内容封装起来。


未来内容变化时只需要修改被封装的部分,无需修改调用这个被封装的接口的代码。


从而将变更造成的影响最小化,提高代码的可扩展性和可维护性。


2. **面向接口编程而不是面向实现编程**


对象和对象之间通过接口进行交互,而不是直接调用对象的具体实现。


调用者不必关心被调用者的具体实现,只需要针对被调用者接口实现自己的逻辑。


这样被调用者可以遵循封装变化的内容原则,随时修改自己的实现,而不会影响调用者的代码。


而且因为接口是抽象的,所以调用者可以更加灵活地使用不同的实现。


例如,通过多态的方式,调用者可以在运行时动态地选择不同的实现。


3. **多用组合,少用继承**


继承是面向对象编程的基本特性,它可以让子类继承父类的属性和方法。


继承有其适用的场景和优点,例如代码的复用、多态性和抽象等方面。


但在设计和使用继承时,需要权衡其优点和缺点,并根据具体情况选择合适的设计原则和模式。


继承的缺点:


- 继承会继承父类的所有属性和方法,包括一些不需要的内容。


- 继承会破坏封装,子类可以访问父类的所有属性和方法。


- 在重写父类方法时,子类必须确保方法的行为是一致的,否则可能会导致意想不到的错误。


- 容易引入复杂性,继承层次过深或者过多,会导致代码难以维护。


组合是一种弱耦合的关系,它可以将多个对象组合成一个更大的对象。


组合的优点是它可以将变化的部分抽象成接口,而不是具体的实现。


通过组合的方式,我们可以更加灵活地替换组合对象的具体实现。


组合和继承都是代码复用的方式,但是继承是一种强耦合的关系,而组合是一种弱耦合的关系。


因此,我们应该尽量使用组合而不是继承,以便让我们的代码更加灵活、可扩展和可复用。


To be continued...


设计模式(3)设计模式的基本原则(上)封装变化的内容、面向接口编程、多用组合的评论 (共 条)

分享到微博请遵守国家法律