面向对象、设计原则、设计模式、编程规范、重构

面向对象

主流的三个编程风格有:面向对象,面向过程,函数式编程。

面向对象是最主流的风格,面向对象具有丰富的特性(封装,抽象,继承,多态)。

面向对象

  • 面向对象的4大特性:封装、继承,抽象、多态。
  • 面向对象编程与面向过程的区别和联系
  • 面向对象分析,面向对象设计、面向对象编程
  • 接口和抽象类的区别与各自的应用场景
  • 基于接口实现的编程的设计思想
  • 多个组合少用继承的设计思想
  • 多面向过程的贫血模型和面向对象的充血模型

设计原则

设计原则是指导我们代码设计的一些总结,设计原则有 SOLID 原则:

  • SOLID 原则- SRP 单一职责原则
  • SOLID 原则- OCP 开闭原则
  • SOLID 原则- LSP 里氏替换原则
  • SOLID 原则- ISP 接口隔离原则
  • SOLID 原则- DIP 依赖倒置原则
  • DRY  原则、KISS 原则、 YAGNI 原则、LOD 法则

设计模式

设计模式是针对软件开发中遇到的一些设计问题,经典的设计模式有 23 种。但是可以分成 3 大类:创建型,结构型,行为型。

  • 创建型 常见是设计模式有: 单利模式、工厂模式(工厂方法和抽象工厂)、建造者模式 不常见的有:原型模式

  • 结构型 常用的有:代理模式,桥接模式,装饰器模式,适配器模式。不常用的有:门面模式、组合模式、享元模式

  • 行为型 常用的有:观察者模式、模板模式、策略模式、职责链模式、迭代器模式、状态模式 不常用的:访问者模式、备忘录模式、命令模式、解释权模式、中介模式

编程规范

编程规范主要解决的是代码可读性的问题。编程规范相对于设计原则,设计模式,更加具体,更加偏重代码细节。

编程规范《重构》《代码大全》《代码整洁之道》是非常好的参考资料

代码重构

没有一劳永逸的设计,需要随着需求的变化,不断迭代。重构的工具是面向对象设计思想,设计原则,设计模式,编码规范。

  • 重构的目的(why)、对象(what)、时机(when)、方法(how)
  • 保证重构不出错的技术手段:单元测和代码可测试性。
  • 两种不同规模的聪哥:大重构额小重构

面向对象、设计原则、设计模式、编程规范、代码重构 本质上都是服务于编写高质量代码的。面向对象编程因为具有丰富的特性(封装,抽象,继承,多态),可以实现很多复杂的设计思路,很多设计原则,设计模式等编码实现的基础。

欢迎关注公众号:程序员开发者社区

wordvba编程代码大全_面向对象、设计原则、设计模式、编程规范、重构相关推荐

  1. wordvba编程代码大全_这几本基础编程书籍一定要看

    程序员书库(ID:OpenSourceTop) 编译书单来自:https://simpleprogrammer.com/best-programming-books-2019/ 关于程序员类的技术书籍 ...

  2. 设计一个扩展自抽象类geometricobject的新的triangle类_面向对象设计原则之开放封闭原则(开闭原则OCP)...

    (1) 定义 一个软件实体(类.模块.函数等),对于扩展是开放的,对于更改是封闭的. 对于扩展是开放的:这意味着模块的行为是可以扩展的.当应用的需求发生改变时,我们可以对模块进行扩展,比如增加新的类或 ...

  3. java编程代码大全_掌握Java编程技巧,代码重构

    代码重构在不改变软件系统外部行为的前提下,改善它的内部结构,通过调整程序代码改善软件的质量.性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性. 代码重构目标 持续纠偏和改进软件设计 随 ...

  4. c++游戏代码大全_还在学少儿编程?不如来玩工厂编程师,免费学编程逻辑的小游戏...

    40000+游戏爱好者已加入我们! 每天推荐好玩游戏! 加入我们,沐沐带你发现好游戏! <工厂编程师>游戏小程序好玩吗? <工厂编程师>小游戏怎么玩? 只有你想不到, 没有我找 ...

  5. vb初学者编程代码大全_学习VB编程第14天,一个简单的排序代码把我难住了

    今天学习了刘金玉老师VB编程教程的第21期,学习的主要内容是冒泡排序算法. 一.算法的主要种类 1.算法的种类有冒泡排序法.选址排序法.折半查找法.快速排序法.穷举法等. 2.补充知识:variant ...

  6. excel vba编程代码大全_实战VBA代码一键提取EXCEL中的所有公式!

    有的时候,我们希望把表中的公式提取出来,进行保存! 少量,我们可以手动复制,量大,猝-- 所以我们今天就分享一下如何一键提取 用什么,VBA上吧! 还是老规矩,我们先看一下动画效果 动画效果 制作教程 ...

  7. python天勤金叉编程代码大全_这些Python编程黑科技,装逼指南,高逼格代码,让你惊叹不已...

    1.单行写一个评级组件 "★★★★★☆☆☆☆☆".slice(5 - rate, 10 - rate);定义一个变量rate是1到5的值,然后执行上面代码,看图 才发现插件什么的都 ...

  8. python天勤金叉编程代码大全_天勤终端数据解决方案

    作者:金属成色 目录 环境准备 如果没有安装vn.py最新发行版(这里默认为vnpy-1.7.1).MongoDB.Anaconda.PyCharm软件,请参照右边'环境安装'教程. 对于天勤数据解决 ...

  9. 设计模式之实验一:面向对象设计原则实验

    实验项目一:面向对象设计原则实验 (1)实验目的与原理 ①深入理解和掌握面向对象设计原则. ②能运用面向对象设计原则对系统进行重构. ③能绘制系统结构图(类图) (2)实验内容与步骤 ①某绘图软件提供 ...

最新文章

  1. 威廉与玛丽学院读计算机博士,威廉与玛丽学院计算机科学(计算运算研究)理学硕士研究生申请要求及申请材料要求清单...
  2. IT职场人生系列之二十一:如何学习新语言(一)
  3. hadoop环境搭建之伪分布集群环境搭建(单节点)
  4. CORS 跨域 实现思路及相关解决方案(转:http://www.cnblogs.com/sloong/p/cors.html)
  5. 限界分支法(队列方式)追踪解:01背包问题
  6. CentOS下二进制包/源码安装方式的MySQL卸载步骤
  7. 某公司的雇员分为以下若干类: Employee:这是所有员工总的父类, 属性: 员工的姓名,员工的生日月份。 方法:getSalary(
  8. 《VMware Virtual SAN权威指南》一2.2.2 VSAN Ready Nodes
  9. 华为推送服务(Push)
  10. ps怎么对比原图快捷键_用Photoshop调出图片冷暖色对比
  11. 多元相关性分析_多元统计分析与R语言建模之相关分析与回归分析
  12. iPhone无法更新,一直卡住在“验证更新中”,如何处理?
  13. (HG模块,简洁明了)Hourglass Module介绍
  14. mail 465邮件配置
  15. 解决微信公众号获取用户信息报48001错误
  16. krpano 常用标签
  17. 新型网络诈骗缘何层出不穷?
  18. 模型评价(AUC,ROC曲线,ACC, 敏感性, 特异性,精确度,召回率,PPV, NPV, F1)
  19. 防抄袭软件防抄袭系统反抄袭系统-推荐
  20. php 设备台帐,谁给说下设备台账的管理与制作

热门文章

  1. how is Java Bean object created
  2. nodejs项目npm start背后的工作原理
  3. How to use filter in Analytics Path Framework
  4. windows10下的nc
  5. SAP ABAP OData gateway缓存表的存储逻辑 - cache table logic
  6. 如何查看AWS实例上使用的key value pair名称
  7. 如何禁止SAP Fiorigateway系统上的病毒扫描
  8. 使用describe命令进行Kubernetes pod错误排查
  9. Opportunity的chance of success的赋值逻辑
  10. 超低内阻mos管_FHU100N03低压MOS管保障榨汁机电路正常运行!