一,建模现实世界中的对象
为程序建模的每种现实世界的对象都创建一个类,将对象所需的数据放入类中,然后构建服务子程序来模拟对象行为
二。建模抽象对象
一种不具体的现实世界的对象,Shape(形状)对象,Cricle类和Square类是具体存在的形状,而Shape是对其他具体形状的抽象基类
三,降低复杂性
创建类最重要的原因是降低程序的复杂性,创建类来隐藏信息,在不关心内部运作的情况下使用该类
四,限制变化造成的影响
隔离可能发生变化的区域。将变化的影响限制在一个类和几个类的范围
五、隐藏全局数据
如果需要实现全局函数,可以将其实现细节隐藏于一个类的接口背后,与直接使用全局数据想比,通过专门的访问子程序来使用全局数据,1,可以改变数据的结构而不改变程序, 2,每次都要使用访问子程序,可以监控数据的访问,同时鼓励思考数据是否需要全局性
六、简化参数传递
如果需要在几个子程序之间传递一个参数,可能表明应将这些子程序纳入一个类,将参数作为对象数据来共享。简化参数传递本身并不是目标,但大量数据传来传去,表明换成一种不同的类组织方式可能更佳
七、避免什么类
避免创建万能类,如果一个类花了很多时间在Get()和Set()子程序从其他类获取数据,就问自己这些功能是否能更好的组织到其他类而不是万能类中
消除无关紧要的类,如果一个类只有数据而无行为,想一想它是否真的是一个类,烤炉将其降级,使其成员数据成为一个或多个其他类的属性
避免以动词命名的类,一个只有行为而无数据的类通常不是真正的类,考虑将这个类变成其他类的子程序