摘要:
世间唯一“不变”的是“变化”本身,这句话同样适用于软件设计和开发。
在软件系统中,模块(类、方法)应该依赖于抽象,而不应该依赖于实现。
当需求发生“变化”时,如果模块(类、方法)依赖于具体实现,具体实现也需要修改;
如果模块(类、方法)依赖于接口,则无需修改现有实现,而是基于接口扩展新的实现。本篇首先介绍了面向接口以及开闭原则的概念,然后提到了“提取接口”这个重构策略,并用一个示例展示了这个重构策略。 阅读全文
摘要:
UML类图用于展现一组对象、接口、协作和它们之间的关系。类图描述的是一种静态关系,在系统的整个生命周期都是有效的,是面向对象系统的建模中最常见的图。UML一共包含6大关系,它们分别是Inheritance(继承)、Implementation(实现)、Dependency(依赖)、Association(关联)、Aggretation(聚合)和Composition(组合)。在这6大关系中,依赖、关联、聚合和组合是比较容易混淆的,我也会讲解它们之间的区别。 阅读全文