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