面向对象先生和他的兄弟姐妹们——小议【OOP、COP、AOP、SOP】

接着上一篇《从门卫的思维方式来看——面向对象》。上次我们聊到了面向对象的来龙去脉,但是聊得比较粗。这次再补充一点,慢慢来完善这个体系结构。

怎么来的?

故事是从结构化的出现开始的……

long long ago……,软件开发的世界还是一篇混沌,代码中充斥着goto 语句,无论开发什么样子的软件都面临着复杂难懂的问题,过于灵活的goto语句让程序的流程随意跳转,无法掌控……,一时间可谓是乱象丛生啊。这个时候软件领域出现了一位神秘的人物!他就是“结构侠”(结构化编程思想),他的出现给整个软件行业带来了希望!

尤其是他发明的绝招“三大控制结构”(顺序、选择、循环)更是打遍天下无敌手!他的另外一个杀手锏就是:函数

旁白:结构化编程的基本思想是:有序地控制流程,即把程序的执行顺序限制为顺序、分支和循环这三种;把共通的处理归结为例程(函数)。

结构化编程的好处是:

1、三大限制:大大降低了程序的自由度,减少了各种组合,使得程序不至于太过复杂。对于这一点,结构化编程的顺序、分支和循环可以实现一切算法,虽然降低了程序的复杂性和灵活性,但是程序的实现能力并没有降低。

2、例程(函数):我们只需要知道过程(函数)的名字,而不需要知道过程的内部细节,即“黑盒化”)

但是……好景不长……,不久以后随着人们对于软件的要求越来越高,功能越来越复杂,妖孽(需要处理的数据)开始在软件行业横行霸道!他们的数量不断程指数级增长,我们的“结构侠”已经开始招架不住了!程序变得越来越复杂,结构侠也日渐老去,软件行业岌岌可危,亟需新的英雄的出现……就在这个时候,面向对象先生应运而生了!

在一个伸手不见五指的白天,“结构侠”的妻子艰难的产下男童一枚,刚刚产下宝宝的妻子身体十分虚弱,但是脸上徜徉着幸福的微笑,说到:”娃儿他爹,给咱娃儿取个名字吧“结构侠”看了看孩子,又望了望妻子,说到:就叫他“面向对象“吧!

面向对象这孩子骨骼惊奇,天资聪颖,从小得到“结构侠”的真传。十八年后,面向对象已经学会了“结构侠”的全部家传绝学。

一天,“结构侠”躺在床上把面向对象召唤过来,嘱咐道”孩子,你已经长大成人了,有些事儿也该知道了。你爹爹我一生同程序做斗争,管理程序处理和数据对象那帮妖孽不好对付啊!为了保证程序的正确性,你必须得保持处理和数据的一致性。想要彻底消灭这群妖孽,你必须要学会这本秘籍上的上乘武功”随即,只见“结构侠”从枕头边拿出一本秘籍上面写着《数据抽象技术》
“孩子,这是我毕生和大大小小的程序进行战斗的经验总结,里面都是爹爹的心血啊!你一定要……额……“ 结构侠就这样挂掉了……面向对象失声痛哭……面向对象开始闭关修炼,过了七七四十九天,终于练成了绝世武功《数据抽象技术》。终于,他下山了……

到哪里去?

                      (欲知后事如何,且听下回分解……)

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-14 07:14:03

面向对象先生和他的兄弟姐妹们——小议【OOP、COP、AOP、SOP】的相关文章

php面向对象

面向对象 什么是面向对象? 面向对象编程(Object Oriented Programming, OOP, 面向对象程序设计)是一种计算机编程架构,OOP的一条基本原则是计算机程 序是由单个能够起到子程序作用的单元或对象组合而成,OOP达到了软件工程的三个目标:重用性.灵活性和扩展性.为了实现整体 运算,每个对象都能够接收信息.处理数据和向其它对象发送信息. 什么是面向对象编程呢? 把每个独立的功能模块抽象成类形成 对象,由多个对象组成这个系统,这些对象之间都能够接收信息.处理数据和向其它对象

Java面向对象的理解

Java是一门面向对象的编程语言(Object Oriented Programming,OOP), 这个句话是每个学习Java的程序员应该先深刻理解的一句话. 我们之所以将自自然界分解,组织成各种概念,并按其含义分类,主要是因为我们是整个口语交流社会共同遵守的协定的参与者,这个协定以语言的形式固定下来--除非赞成这个协定中的规定的有关语言信息的组织和分类,否则我们根本无法交谈. --Benjamin Lee Whorf(1897~1941) 在计算机编程中,也是对编程进行分解,组成各种概念,并

面向对象(1)

面向对象 什么是面向对象? 面向对象编程(Object Oriented Programming, OOP, 面向对象程序设计)是一种计算机编程架构,OOP的一条基本原则是计算机程 序是由单个能够起到子程序作用的单元或对象组合而成,OOP达到了软件工程的三个目标:重用性.灵活性和扩展性.为了实现整体 运算,每个对象都能够接收信息.处理数据和向其它对象发送信息. 什么是面向对象编程呢? 把每个独立的功能模块抽象成类形成 对象,由多个对象组成这个系统,这些对象之间都能够接收信息.处理数据和向其它对象

面向对象相关概述

第一章面向对象概述 一.结构化编程与面向对象编程的区别 在程序设计的早期,程序用流程图和自顶向下的方法设计.采用这种设计方法,程序员会将一个大的问题分解成更小的任务,然后为每个更小的任务编写一个过程(或函数).最后,程序员会编写一个主过程来启动程序流程,随后根据程序流程走向,调用想要的其它过程.这种类型的程序设计被称为结构化编程. 20世纪70年代以后,面向对象编程(Object Oriented Programming,简称OOP)开始流行.OOP采用了一种完全不同的方法来开发计算机应用程序.

Python全栈开发,Day7 - 面向对象学习

本章内容 面向对象编程介绍 面向对象开发 面向对象的特性 一.面向对象编程介绍 介绍之前,先说一个例子: 你的老板要你做一款枪战游戏,游戏里面有很多的角色,比如CF里面的潜伏者和保卫者,在游戏里还有很多的玩家,每个玩家都有不同的名字和装扮,但是你发现这些玩家同一个阵容(潜伏者.保卫者)里的玩家具有很多相同的属性,于是你开始写代码,首先定义潜伏者1,名字.武器......等,然后保卫者1,同样,名字.武器......:代码如下: 1 def defenders(name,weapon,*args)

软件工程之结构化方法与面向对象方法之比较与结合

软件开发方法指,在项目投资规模和时间限制内,设计.实现符合用户需求的高质量软件,根据软件开发的特点,提出的多种软件开发的策略.随着20世纪60年代,计算机软件.硬件发展不均衡,使大型软件的开发过程中出现了复杂程度高.研制周期长.正确性难以保证的三大难题,引发了"软件危机".为了同时提高软件效率和质量,软件开发方法不断革新.经过几十年的研究和应用,两种基于相应的程序设计思想和语言的软件开发方法,结构化方法与面向对象方法,成为了主流的开发方法之一,广泛地使用于软件工程. 结构化方法包括结构

Java系列1 -- 浅谈面向对象

也许每一个计算机专业的人,在大学学习java的时候,老师开始时都会说这么一句话,"Java是一门面向对象的语言".那么面向对象到底是什么,他有什么好处,或者他比其他流行的语言C/C++他强在哪里呢?“面向对象”在我们实际编程中有什么作用呢? 在开始实际的java之旅前,我们再次老生长谈下.我就按我自己的理解结合我这两年左右的编程经验来简单的说一说.其实在java之前我是学习C和C++的,但是并没有实际拿C或者C++写过什么项目,所以,一开始我就是直接用java的,在第一年的时候,我对面

面向对象 课堂基础笔记

面向对象:object 最先翻译为物质 简称oop 构造函数是对象被创建时自动调用的方法,用来完成类初始化的工作 构造函数可以接受参数,能够在创建对象时赋值给对象属性构造函数可以调用类方法或其他函数构造函数可以调用其他类的构造函数 构造方法在面向对象中,函数被称为方法1 特殊的名称:__construct 2 在实例化对象时,自动被调用3 在内存中划分了对应的内存空间区域 4 构造方法可以像普通方法一样,接收参数:这里的参数通常是用来初始化类中的属性5 构造方法不能重复定义,每个类当中有且只能有

初识php面向对象

简介: 20世纪70年代以后,面向对象编程(Object Oriented Programming,简称OOP)开始流行.OOP采用了一种完全不同的方法来开发计算机应用程序.在这种方法中,程序不是围绕着要解决的任务来设计,而是围绕着要解决的问题中的对象来设计.建立对象模型,将问题域化为不同的对象去处理. 类与对象; 类是对一类事物描述,是抽象的.概念上的定义: 对象是实际存在的该类事物的每个个体,因而也称实例 创建对象的过程称为 创建对象 也称为实例化. PHP 中使用关键字 class 来定义