软件设计的开发原则-SOLID
软件设计的开发原则-SOLID
开发时遵循以下原则可提高代码重用性、可读性、可靠性、可维护性
- 单一职责原则:高内聚、低耦合的指导方针。一个类只有一个引起它变化的原因,一个类只负责一项职责。一个方法尽量只完成一件事,减少方法间的相互调用。
- 开闭原则:扩展开放,修改关闭。扩展功能时不能修改原有代码。
- 里氏替换原则:尽量用基类定义对象,基类存在的地方都可以用子类替换。
- 依赖倒转原则:高层模块不应该直接依赖底层模块,应该依赖其抽象(接口、抽象类)
- 接口隔离原则:根据使用对象对方法分类,同一对象需要使用的方法放到同一个接口中,不需要使用的方法放到其他接口中。
- 迪米特法则:又称最少知道原则,实体尽量只与关系密切的实体交互,对于关系不密切又需要交互的对象可以通过引入第三方密切对象进行交互。(A与B密切,B与C密切,当A想与C交互时,可以借助B)
软件设计的开发原则-SOLID相关推荐
- 面向对象设计与开发原则
介绍 这里介绍了5个面向对象设计与开发原则–SOLID原则,分别是:单一职责原则.开放封闭原则.里氏替换原则.接口隔离原则.依赖倒置原则.另外还介绍了其他3个原则:迪米特法则."Tell, ...
- 基于android系统的单词学习软件设计与开发【附项目源码+论文说明】分享
基于android系统的单词学习软件设计与开发演示 摘要 随着手机使用的普及,人们获取与保存信息的方式已经发生了激动人心的转变.智能手机正在逐步融入我们的生活,并影响和改变着我们的生活.由于现在各种智 ...
- 【设计模式系列24】GoF23种设计模式总结及软件设计7大原则
设计模式总结及软件设计七大原则 设计模式系列总览 前言 软件设计7大原则 开闭原则(Open-Closed Principle,OCP) 里氏替换原则(Liskov Substitution Prin ...
- 软件设计概念-指导原则|Aspects|设计元素
软件设计概念 软件设计概念 设计过程的任务集 软件设计的指导原则 设计基本理念 模块化设计原则 信息隐藏原则 步进式的细化原则 功能独立原则 重构原则 Aspects 设计元素 数据元素 架构元素 接 ...
- 开源毕设项目《面向桂林旅游的APP软件设计与开发》
前言:说一下闲话,项目一个星期完成,三天写成初稿,后面改论文用了三个月(夸张点,并不是每天都在改).最终于2019年5月19号完成毕业答辩.毕设老师给95分,验收老师给90+,这个分数是可以推优进行二 ...
- 【设计模式】软件设计遵循——六大原则
软件设计遵循--六大原则 1)开闭原则 定义:一个软件实体如类.模块和函数应该对扩展开放,对修改关闭 原则:用抽象构建框架,用实现扩展细节 优点:提高软件系统的可复用性和可维护性 2)里氏替换原则 定 ...
- 软件设计的七大原则 --开闭原则 里氏替换原则 依赖倒置原则
在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据 7 条原则来开发程序,从而提高软件开发效率.节约软件开发成本和维护成本. 这 7 种设计原则是软件设计 ...
- 设计模式 - 软件设计的七大原则
文章目录 前言 1. 软件设计模式原则 2. 开闭原则 1. 概念 2. 例子 3. 里氏替换原则 1. 概念 2. 例子 4. 依赖倒置原则 1. 概念 2. 代码 5. 单一职责原则 说明 6. ...
- 初识设计模式、软件设计的六大原则
总结:本篇文字分为两个部分.第一部分:设计模式基本常识:第二部分:软件设计中的六大原则,并详细分析了单一职责原则.(本篇文章的时间轴参考:为知笔记支撑文件夹\Java设计模式(时间序列图).vsdx) ...
最新文章
- DNS详解: A记录,子域名,CNAME别名,PTR,MX,TXT,SRV,TTL
- 6-7 求链表的倒数第m个元素 (25 分)
- 2019游戏 f1_2019年F1中国大奖赛激情开跑,这款手游带你体验真实F1的魅力
- BT3入门之中文语言支持
- wx.chooseimage 超过了最大请求长度_一次 HTTP 请求到底经历了什么?
- 疫情下的创业品牌如何逆风翻盘?
- input输入框自动去除空格
- 【PCAN医疗应用系列】CAN总线技术在实现实时荧光定量基因扩展(PCR)仪控制系统上的应用(2)
- meson test 的 --test-args 参数
- 移动通讯技术--3G
- 程序员知道什么叫劳务外包?企业为什么要选择劳务外包吗?
- 吴氏太极拳宗师王茂斋简介
- 新浪微博PC客户端(DotNet WinForm版)——功能实现分解介绍
- 滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(10月31日~11月6日)...
- 自动驾驶仿真测试标准ASAM OpenX简介
- 打地鼠java代码流程图_51单片机 普中51 打地鼠游戏 仿真 程序 流程图
- 2018.6.17 英语六级学习单词汇总
- Ubuntu16.04 + Cuda-9.0 + Cudnn-7.1.4 + TensorFlow1.8(极其简单)
- Android Notification消息提示
- csr8510对应win10即插即用驱动
热门文章
- 数控机床刀具挑选和切削用量确认的准则
- 设计素材搜索网站(长期更新)
- pycharm-professional-2020.1下载与激活
- R语言解决package ‘MODIS’ is not available (for R version 3.6.3) 的问题
- 专业电影色调PR调色/FCP调色/达芬奇调色LUT预设
- 网友:国产FPGA,长点心吧
- verilog基础---uart协议解析
- 第十四届蓝桥杯三月真题刷题训练——第 22 天
- 外贸人必看搞清楚开发信寄给谁、怎么写、何时寄,才会事半功倍
- python 截取指定mp4片段