面向切面编程

程序员日记      2019-08-13
定义AOP(Aspect-OrientedProgramming,面向切面编程),可以说是OOP(Object-OrientedPrograming,面向对象编程)的补充和完善。面向对象的不足OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。但是当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系。例如日志功能。日志代码往往水平地散布在所有对象层次中,而与它所散布到的对象的核心功...
标签:
39 人看过

函数式编程

程序员日记      2019-08-12
定义函数式编程其实就是编写没有故意副作用的程序。概述一般来说,函数式编程是使用函数来编程的一种编程范式。引用透明函数式编程中没有赋值语句,因此变量一旦有了值就不会再改变。更通俗的讲,函数式编程没有副作用——除了结算结果,调用函数没有别的作用。这样消除了bug的一个主要来源,也使得执行顺序变得无关紧要。因为没有能够改变表达式值的副作用,可以在任何时候对它求值。由于能够在任何时候对表达式求职,所以可以用变量的值来自由替换表达式,反之亦然——即程序是“引用透明”的。函数式编程是什么函数式编程有时候被认...
标签:
84 人看过

面向对象编程

程序员日记      2019-08-12
定义面向对象编程(Object-orientedProgramming,缩写:OOP)是软件工程中一种具有对象概念的编程范式(ProgrammingParadigm),同时也是一种程序开发的抽象方针。特点一切皆为对象在面向对象编程世界里,一切皆为对象,对象是程序的基本单元,对象把程序与数据封装起来提供对外访问的能力,提高软件的重用性,灵活性和扩展性。在面向对象编程中,通常把对象的数据(字段)称为属性,把对象的行为称为方法。对象与类在面向对象编程中,最常见的表现就是基于类(Class)来表现的,每...
标签:
50 人看过

面向过程编程

程序员日记      2019-08-12
定义面向过程编程是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。与面向对象明显的不同就是封装、继承、类。简单点说,就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。释义面向过程其实是最为实际的一种思考方式,就算是面向对象的方法也是含有面向过程的思想。可以说面向过程是一种基础的方法。它考虑的是实际地实现。一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。对比面向过程,面...
标签:
49 人看过