软件设计原则

1  单一职责:一个类,仅有一个引起它变化的原因;

若一个类有多于一个的职责,应考虑将类的职责分离;

俄罗斯方块游戏设计:将界面表示逻辑和游戏逻辑两者分离;

游戏逻辑:数组的每一项值发生变化,下落、旋转、碰撞判断、移动、堆积对应数组项值的变化;

界面表示逻辑:根据数组的数据进行绘制和擦除,或根据键盘调用数组的相应方法进行改变;

2 开放封闭原则:对于拓展是开放的,对于更改是封闭的;它是面向对象设计的核心所在。

   设计软件要容易维护又不容易出问题的方法就是:多拓展少修改;

   软件开发人员应该对一个模块中最有可能发生(需要进行预测)的变化种类进行构造抽象以隔离这些变化;

   简单工厂模式举例:通过继承、多态来隔离加法、减法与client耦合;

   总结:面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。

3 依赖倒置原则,即:面向接口编程,而不要针对实现编程

   具体阐述:高层模块不应该依赖于低层模块,两者都应该依赖抽象;

                       抽象不应该依赖于细节,细节应该依赖于抽象;

  3.1 里氏代换原则:子类型必须能够替换掉它的父类型;

         继承中,子类继承了父类,子类可以以父类的身份出现;由于面向对象设计中,子类继承有父类的所有非private的行为和属性,所以在编程世界里,企鹅(不会飞)是不能继承鸟类(会飞)的。

        面向过程设计的关键词:程序中所有的依赖关系都是终止于接口或抽象类;


        

        


   


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值