一、开闭原则
对扩展 开放 对修改关闭
1、多使用继承的方式去修改原有行为,而不是直接修改,在子类中定义拓展的方法
2、多用多态的形式,去复用(父类用virtual定义多态方法,子类用override重写方法,实例化指向子类的父类对象,调用方法就可以实现多态)
3、一个变量 我们不要直接去修改 而是用方法的形式
二、单一原则
只用一个引起变化原因,过多职责 耦合性降低 也会影响复用性
1、类、方法单一 只做一类事情
2、接口单一原则 interface(用多继承的方法继承多个接口,将接口内部方法单独,避免接口浪费)
三、迪米特原则(最小知识原则)
一个模块 或者对象尽量少于其他实体发生相互作用
1、只有对自己操作的功能部分,采用中间类对其进行变化
四、合成复用原则
一个对象里面使用一些己有的对象 或者对象组合 不要使用继承
1、多继承 关系变复杂
2、抽象一个类 Ha-a关系 Is-a关系
总结:
一个游戏分很多模块,根据单一原则,把功能模块分离清楚,每个模块下面有很多功能,每个功能要遵循迪米特原则,把不同功能分开不同脚本,方便修改。对于单个脚本,我们多使用继承方式修改,对于方法,我们多使用多态方式修改,对于变量,我们多使用方法,而不是直接修改。最后,命名规范很重要,类名:首字母大写,变量:首字母小写,其他首字母大写,遵守匈牙利命名规范。根据这些原则,定义了很多设计模式。