1. 内聚
2. 耦合
3. 高内聚,低耦合
高内聚,指的是一个方法的改变或者添加,影响的类实例越少越好。否则的话,改动一点,就要改变很多模块的编译,测试,部署,工作量巨大。比如一个Person类,主要有study, Play, action的方法。根据这三种方法,实例化teacher, coach, director.如果teacher增加exam类,就要重新编译coach,director相关的模块。最好的办法是将teacher, coach, director继承Person类,而不是直接实例化。
低耦合, 指的是一个类的变化,影响其他模块越少越好。比如Boss类,有很多部门, R&D,sale类。如果有任何一个类变动,其他类调用该类的地方,都要重新编译,测试和部署。所以耦合越低越好。
4. 举例说明
class Person()
{
public:
Person(QString name);
private:
QString m_Name;
};
class Teacher : public Person
{
public:
void Test();
void Study();
};
class Coach: public Person
{
public:
void Play();
void Teach();
};
class Director: public Person
{
public:
void Action();
};