在编程的过程中,我们最在意的就是写出高质量的程序,编程有一套指导理论,帮助人们实现这套高质量的**,这套编程理论我们称之为编程思路。在追求高质量过程中,发展了三种不同且常用的编程思想,即:面向过程的编程面向对象编程面向部分的编程。编程思想是一种思想,它与编程语言无关,这三个思想中没有一个比另一个更好,实际上面向过程将是记忆中的最终状态。
面向过程编程(POP)是一种侧重于问题实现和写作组织过程的编程方法,在编程设计中主要按过程和功能的顺序组成。 它是一种基本的编程方式,从实际的角度思考如何实现和解决问题。
在实施和解决问题时,面向过程首先分析解决问题的步骤,然后通过功能、过程和方法实现每个步骤,最后严格按照顺序组织这些步骤并逐步执行。 写作是线性的,严格顺序的,专注于解决方案步骤,专注于局部或特定。
优点:
1.工艺和模块化。
2、符合人类思维的自然规律,分工明确,能清晰明了地分工实现的问题。
3.高性能,无额外的封装和继承开销。
缺点:
1.可重用性低,扩展性差,维护困难。
2、复杂问题难以模块化,耦合度相对较高。
面向对象编程(OOP)是以问题形成的对象为中心对对象进行分解,描述对象在解决问题的全过程中的性质和行为,并根据对象之间的关系进行编写的编程范式。 它似乎主要是为了弥补面向过程的一些缺点。 面向对象编程在实现和解决问题时,首先分析解决问题的对象的组成,将数据、属性、行为抽象成模块结构形成类,然后以某种方式实现前者的多态性,最后根据对象关系进行组织。 对象:现实世界中存在的任何东西都可以称为对象,具有一些属性和行为。 比如汽车、苹果、猫、狗。
特征:
封装,将客观事物封装到抽象类中,隐藏数据和方法,只允许访问某些信息。
遗产,一种允许一种类型的对象获取另一种类型的对象的属性的方法。
多态性,这意味着类实例的同一方法在不同情况下具有不同的表现形式。
优点:
1、结构清晰,注重对象和职责,不同的对象承担不同的责任。
2.数据封装,部分隐藏数据,只允许访问部分数据。
3、实施简单,易于维护和扩展,可重复使用。
缺点:
1.由于对象之间的交互和信息传递,会牺牲一些性能,导致运行效率低下。
2、编程复杂度增加,简单的问题复杂化。
3.过分关注对象可能会限制你解决实际问题的思考。
面向方面编程(AOP)是一种通过预编译和运行时动态**提取业务流程的方面,然后动态地向程序添加功能,而不修改源代码的技术。 它是面向对象编程的一种扩展和补充,是一种规范。 主要目的是将日志记录、性能统计、安全控制、事务处理、异常处理等都与业务逻辑分离。 从核心关切中抽离出贯穿各领域的关切是面向部分的方案编制的核心。
优点:
1、从业务逻辑中抽离出一般功能,提高可复用性,便于公司的维护和扩展。
2、减少第一耦合,实现各种功能之间的解耦。
3、提高第一类的可复用性和开发效率。
缺点:
1、面向对象编程的补充,要求通过面向对象编程对业务进行梳理后,提取一般函数。
2.在性能上会有一些牺牲。
以上三个想法是相辅相成的,是相辅相成的。 在复杂系统的开发中,这三种编程思路是必不可少的。 本文仅介绍三个思想概念,优点和缺点,希望对大家的学习或工作有一定的参考价值。 后续工作将与 C 语言的实现方式相结合。