博客
关于我
面向对象、设计原则、设计模式、编程规范、重构,这五者有何关系?
阅读量:763 次
发布时间:2019-03-23

本文共 1121 字,大约阅读时间需要 3 分钟。

面向对象编程与设计体系

面向对象编程因其强大的抽象能力,成为了现代软件开发的基石。它不仅支持封装和继承,还提供了面向对象的四大特性:封装、抽象、继承和多态。这些特性为程序设计提供了高度的可塑性,使得设计模式和设计原则能够得到有效实施。

一、设计原则的指导

设计原则是软件开发中的智慧结晶,它为程序设计提供了基本的指导方向。SOLID原则是对象分类中最具代表性的五大原则,涵盖了单一职责原则(SRP)、开闭原则(OCP)、里式替换原则(LSP)、接口隔离原则(ISP)以及依赖倒置(DIP)。这些原则帮助开发者在类及接口设计上做出合理选择,确保代码的高内聚低耦合。

除SOLID原则外,还有DRY原则(不要重复代码)、KISS原则(保持程序设计简洁)、YAGNI原则(你已经知道的就够了)以及LOD原则(离散的对象和方法)等基础原则,它们共同构成了编程规范,帮助开发者在代码编写中做出良性的编码习惯选择。

二、设计模式的实用

解决复杂问题的关键在于模式的应用,特别是在面向对象环境下。创建型模式如单例模式和工厂方法能够帮助解决对象创建的问题;结构型模式如适配器模式和装饰模式则专注于对象的组合和扩展。

比较适配器和装饰模式的主要区别在于适配器模式更注重接口的转换,而装饰模式强调功能的增强。适配器适用于对象之间的不兼容问题,而装饰模式则常用于扩展对象的功能,同时保持其一致性。

建造者和抽象工厂模式在对象创建上各有侧重,建造者模式强调步骤化的构建过程,而抽象工厂模式则侧重于生成不同产品族的对象。

三、行为型模式的应用

行为型模式专注于如何实现程序的动作,或如何定义行为的选择。当面对算法的选择问题时,策略模式和工厂模式都能提供有效的解决方案。策略模式注重行为的动态选择,而工厂模式则处理对象的创建。

四、编程规范的重要性

编程规范是代码的omasdn的基础,它与设计原则和设计模式具有一定的层次性。编程规范关注的是代码的可读性,而设计原则和设计模式则更多地关注计算机软件的质量。

五、代码重构的技巧

代码重构是保证代码质量不下降的重要手段。它可以通过面向对象编程原则、设计模式以及编程规范来实现。

六、各设计模式的比较

  • 适配器与装饰器模式:适配器模式更注重接口转换,装饰模式强调功能的增强。
  • 建造者与抽象工厂模式:建造者模式适用于对象的分步骤创建,抽象工厂模式则专注于产品族的生成。

工厂模式与策略模式在设计目标上各有不同。工厂模式强调用特定的对象创建来实现功能,而策略模式则专注于行为的选择。

通过以上分析,可以看出面向对象编程、设计原则、设计模式、编程规范和代码重构这五者是相辅相成的,它们共同构成了保持代码质量和提升开发效率的完整体系。

转载地址:http://quyzk.baihongyu.com/

你可能感兴趣的文章
mysql problems
查看>>
mysql replace first,MySQL中处理各种重复的一些方法
查看>>
MySQL replace函数替换字符串语句的用法(mysql字符串替换)
查看>>
Mysql Row_Format 参数讲解
查看>>
mysql select, from ,join ,on ,where groupby,having ,order by limit的执行顺序和书写顺序
查看>>
MySQL Server 5.5安装记录
查看>>
mysql slave 停了_slave 停止。求解决方法
查看>>
MySQL SQL 优化指南:主键、ORDER BY、GROUP BY 和 UPDATE 优化详解
查看>>
MYSQL sql语句针对数据记录时间范围查询的效率对比
查看>>
mysql sum 没返回,如果没有找到任何值,我如何在MySQL中获得SUM函数以返回'0'?
查看>>
mysql Timestamp时间隔了8小时
查看>>
Mysql tinyint(1)与tinyint(4)的区别
查看>>
mysql union orderby 无效
查看>>
mysql where中如何判断不为空
查看>>
mysql workbench6.3.5_MySQL Workbench
查看>>
MySQL Workbench安装教程以及菜单汉化
查看>>
MySQL Xtrabackup 安装、备份、恢复
查看>>
mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
查看>>
MySQL _ MySQL常用操作
查看>>
MySQL – 导出数据成csv
查看>>