0 思维导图

如图 1.1,图片较大建议放大观看。

1 耦合性

耦合性是类和子系统之间关联程度的一种度量。程序的耦合性越高,程序就越难以修改,仅仅是一个类很小的改动都会使得很多与它相关的类受到影响。因此程序的耦合性越低,越利于我们后期的修改。

2 继承

继承是一个类从另一个类中继承了一些代码的一种关系。继承表达了一种从属关系,例如车是一种交通工具。使用继承的好处是我们可以轻松地复用代码以及实现多态性。

public class Car : Vehicle
{

}

3 组合

组合是一个类包含另一个类的一种关系。组合表达了一种包含关系,例如一辆车有一个引擎。使用组合的好处是我们可以更灵活地复用代码,并且意味着我们的代码有更低的耦合性。

public class DbMigrator
{
	private Logger _logeer;
}

public class Installer
{
	private Logger _logger;
}

4 组合优于继承