编程方法论
Posted not_enough
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程方法论相关的知识,希望对你有一定的参考价值。
封装成函数之后,思想的分岔
刚开始编程的时候采用的是无机构无组织,按步骤组织语言。但这样会造成可读性很差、重用性差、可扩展性差三个弊端。
所以人们开始结构化:结构化第一步便是将可重用性的代码封装成函数。这一步实现了代码的重用。这一步开始便可以有两种风格:面向过程与面向对象
面向过程
基于面向过程设计程序就好比在设计一条流水线,通过把一个大问题分解成小问题,并且问题经常有时间上先后顺序之分
面向过程是一种编程思路,面向过程的核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么
优点:复杂的问题流程化,进而简单化
缺点:可扩展性差,修改流水线的任意一个阶段,都会牵一发而动全身
应用:扩展性要求不高的场景,典型案例如linux内核,git,httpd
例子1:用户输入用户名、密码--->用户验证--->欢迎界面、例子2:用户输入sql--->sql解析--->执行功能
函数式编程
融合数学函数(设计)和编程语言函数(实现),侧重于数学(先建立出一个数学模型例如y=2*x+1,然后用编程语言函数实现),优点是可大量缩减代码,缺点是可读性差。
注意的是函数式编程没有循环,循环由递归实现。并且不能用变量保存状态、不应该定义变量
面向对象
基本思想是遇到一个问题找个解决这个问题的对象, 侧重于复用性和可扩展性
以上是关于编程方法论的主要内容,如果未能解决你的问题,请参考以下文章
GroovyMOP 元对象协议与元编程 ( 使用 Groovy 元编程进行函数拦截 | 通过 MetaClass#invokeMethod 方法调用类其它方法 )
GroovyMOP 元对象协议与元编程 ( 使用 Groovy 元编程进行函数拦截 | 使用 MetaClass 进行方法拦截 | 对象上拦截方法 | 类上拦截方法 )