1、什么是设计原则?

  • 设计原则就是面向对象的原则嘛,即:OOP原则
  • 换句话说:就是为了处理类与类之间的关系( 包括接口、类中的方法 )

2、OOP设计原则有哪些?

  • 1)、开闭原则:就是指对拓展开放、对修改关闭 —— 这个在我的javaSE的面向对象中说明过了

  • 2)、里式替换原则:继承必须确保父类的性质在子类中仍然成立

    • 这个体现在什么地方?方法的重写嘛,因此:子类继承了父类,如果父类的方法不能满足自己的需求,那么最好别使用重写,而是保留父类中的方法,子类进行重载编写( 当然:我们一般都是重写_,但是有这个要求,那就尽量还是照顾一下子类的老爹吧 )
  • 3)、依赖倒置原则:这个在我的javaSE的面向对象篇中也说过了,就是他喵的“面向接口编程”嘛

    • 就是做项目之前先要做的是:抽取出每个模块应该有的接口是什么,管他三七二十一,先把接口抽取出来
  • 4)、单一职责原则:就是不能让类太饱和了

    • 什么意思?简单得很,就是一个类所具有的属性不能太多了,因此:也就成了这个类的对象身上所具有的属性不能太重了,换言之:就是一个方法只做一件事,这样我们需要传递对象时,这个对象就很方便了,不然对象身上有很多属性其实并没有用到,但是一样要传过去,这就增加了麻烦嘛
  • 5)、接口隔离原则:这个和单一职责很像,单一职责是约束类的,而这个接口隔离就是约束接口的

    • 意思就是:接口最好细分一下,如:鸟类接口,这种就应该再细分,鸟类也有可以飞的和不可以飞的涩,不能把所有的鸟类都弄成一个接口嘛
  • 6)、迪米特原则:这个原则有一句话 ———— 只与朋友说话,不可以和陌生人交流

  • 7)、合成复用原则:这个在我的JavaSE的面向对象中也讲过了,就是类与类之间的关系度嘛,优先使用组合 、 聚合 、 关联,最后考虑继承( 不到万不得已坚决不用 )

最新文章

  1. 安装SQL Developer,连接Oracle 12c,创建新用户
  2. BZOJ1407 [Noi2002]Savage
  3. Asp.net 怎样去除表单多行文本框滚动条
  4. Mac terminal从bash切换到zsh
  5. salt-ssh
  6. weblogic 下载安装部署说明
  7. Android的底层库libutils介绍
  8. FreeMarker-Built-ins for strings
  9. 【CSS】Beginner2:Selectors, Properties, and Values
  10. 让USB键盘的LED灯听你的!(不干扰使用)
  11. hdu-2768-Cat vs. Dog(二分图-最大匹配数)
  12. poj 2723 Get Luffy Out 二分+2-sat
  13. stm32之watchdog
  14. Undefined class constant 'MYSQL_ATTR_USE_BUFFERED_QUERY'
  15. 【CODEFORCES】 A. Dreamoon and Sums
  16. WebPack的安装
  17. Java 使用blob对H5视频播放进行加密《java视频加密》
  18. echarts2.0tooltip边框限制导致tooltip显示不全解决办法
  19. springboot自带定时任务和集成quartz
  20. [NOI 2017]蚯蚓排队

热门文章

  1. 计算机网络传输层之TCP拥塞控制(慢开始与拥塞避免、快重传和快恢复)
  2. 电脑cmd命令快速查看连接过的WIFI密码信息
  3. 字符串与模式匹配算法(五):BMH算法
  4. VIVADO 2017.4配置MIG IP注意事项
  5. linked-list-cycle-ii leetcode C++
  6. triangle leetcode C++
  7. 2021CCPC网络赛(重赛)题解
  8. CDP客户数据管理平台体系化搭建
  9. 10分钟简单学习net core集成jwt权限认证,快速接入项目落地使用
  10. Python变量和数据类型,类型转换