三大编程思想自我总结

1.1、面对过程编码

1.1.1、什么是面对过程编码?

面对过程,字面分析主要在于过程二字,只关心的是某一需求的实现过程,把某一个需求拆分成一个个的事件来分步骤解决即可。 如: 我需要开我的车到公司, 可拆分为,找到我的车,将车启动,开车到公司,熄火下车。将这些事件一件件的实现即可。

1.1.2、为什么会有面对过程编码

人类的处事习惯是,将某件困难的事情,拆分成一系列的简单的事情来处理,再按照一定的完成顺序来执行,最终达到解决事情的目的。这种思想也是解决问题最直接的方式,因此再过去被广泛的使用并抽象出来了这种思想。

1.1.3、怎么实现面对过程编码

a、将事件拆分成一件件单一而简单小事件,并按照一定的顺序进行处理

b、画出程序流程图以及数据流向图,直观的表达出事件的处理逻辑

c、在程序中实现每个流程,并按照流向图,调用对应的函数,串联起整个事件,完成事件

1.1.4、面对过程编程的优缺点

a、优点:

1、逻辑简单明了,串联完成整件事件。

2、符合一个重要的解决问题的思想,分治思想。

3、性能高,因为对于过程而已,处理完了就完了没有多余对象的创建。

b、缺点:

1、维护复杂,一些特别复杂的时间可能会存在时间线特别长,如果某一环节出现问题,后续逻辑全部失败。

2、对修改不友好,也就是不易拓展,单线进行的模式让其不好拓展

1.2、面对对象编码

1.1.1、什么是面对过程编码?

面对对象编程,将事件相关的东西都具象成一个个的对象,这些对象有自己的属性和方法,不同的对象能够进行组合调用,也可以一定的层级关系。也就是说万物皆是对象。

1.1.2、为什么会有面对对象编码

基于面向过程编程易变性不高,不好拓展的缺点,诞生了面向对象的思想,可以从其三大特性入手来理解

封装: 什么是封装呢?将一些关联性很高的东西放在一起,也就是放在一个对象内,将其封存起来。举例说明, 如果计算一个逻辑十分复杂,对于面向过程来说,你需要找到某一个方法进行修改,你需要从繁杂的过程中去找到这一段代码进行修改,而对于面向对象来说,你某一段逻辑是封装好了放在某一个类中的,你通过查找类就可以找到这个对应的逻辑了,十分方便

继承: 什么是继承呢?父子关系,子类能拥有父类的属性以及方法,因此可以很大程度上减少重复代码的出现。

多态: 什么是多态呢?对于同一个接口来说,可以有很多个不同的实现逻辑。如果子类实现了抽象接口,对于该接口进行了不同逻辑的处理。

1.1.3、怎么实现面对对象编程

a、按照事物的关联性生成对应的对象,尽量做到单一对象单一职责。

b、对对象进行组合,继承实现。

c、根据UML关系类图进行组合调用。

1.1.4、面向对象编程的优缺点

a、优点:

1、编程简单,复杂度低,可以很快定位问题。

2、各个部分耦合度低,相互间影响很小。

3、减少了很多重复性,代码复用性变高。

b、缺点:

1、性能不是很好,由于存在大量的对象,需要进行内存,硬盘的计算,对性能有很大的影响

1.3、面对方面编码

1.1.1、什么是面对方面编码?

面对方面编程,对于事件的某一方面进行处理,比较常见的如:切面记录操作日志,许多不同的事件进行统一的日志记录处理。

1.1.2、为什么会有面对方面编码

对于一些业务逻辑基本没有关联,但是却有着一些相同的事件需要处理,这种我们可以统一的对于这些事件的这某个方面进行处理。 

1.1.3、怎么实现面对方面编程

在java层面来说,可以实现的如,拦截器,过滤器。底层实现为代理,以及反射。

1.1.4、面向方面编程的优缺点

a、优点:

1、简单,易用

2、降低模块的耦合度

3、使系统容易扩展

4、设计决定的迟绑定:设计师可以推迟为将来的需求作决定

5、更好的代码复用性

b、缺点:

1、使用比较麻烦

2、对初学者不友好,不容易感知

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值