《基于模型的软件开发》——第2章 对象技术

简介:

本节书摘来自华章计算机《基于模型的软件开发》一书中的第2章,作者:[美]H. S.莱曼(H. S. Lahman)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

第2章 对象技术

真正危险的不是机器开始像人类一样去思考,而是人类的思维如同机器。
——Sydney J.Harris
结构化开发彻底改变了软件开发的方式,为软件构造提供了一种系统的开发方法,并且与更加成熟的工程科学过去经常使用的技术一致。结构化开发大大加快了大型应用开发的速度。尽管结构化开发是生产力的福音,但是20世纪70年代后期其弱点也明显暴露出来。这些弱点在第1章中已经讨论过了。
与此同时,OO方法论者注意到OO范式有一个有趣的副作用,那就是OO范式的应用更易于维护。因此1980年左右OOA/D的重点发生了微妙的转向。在此之前的方法将重点主要放在与新的OO程序设计语言(OOPL)兼容地表达设计上。人们发明了OOPL构造的图形表示法,方法学转而表达这些表示法中的基本设计理念。但是到了1980年左右,方法论者开始着重研究如何使用OOA/D去解决结构化开发的具体问题。
本章其余部分在执行摘要层面对OO范式的发展进行概述。首先,我们选择一些OO范式构造理念中的基本元素进行介绍,然后讨论针对结构化开发问题的具体机制和技术,最终目标是为OO范式解决SD和黑客时代出现的问题奠定基础。OO范式的主要特性将在后面的章节中详细讨论。

目录
打赏
0
0
0
0
1408
分享
相关文章
打造高效协作的编程实践
【10月更文挑战第22天】打造高效协作的编程实践
深度解析Unity游戏开发:从零构建可扩展与可维护的游戏架构,让你的游戏项目在模块化设计、脚本对象运用及状态模式处理中焕发新生,实现高效迭代与团队协作的完美平衡之路
【9月更文挑战第1天】游戏开发中的架构设计是项目成功的关键。良好的架构能提升开发效率并确保项目的长期可维护性和可扩展性。在使用Unity引擎时,合理的架构尤为重要。本文探讨了如何在Unity中实现可扩展且易维护的游戏架构,包括模块化设计、使用脚本对象管理数据、应用设计模式(如状态模式)及采用MVC/MVVM架构模式。通过这些方法,可以显著提高开发效率和游戏质量。例如,模块化设计将游戏拆分为独立模块。
395 3
PHP编程中的面向对象基础利用AI技术提升文本分类效率
【8月更文挑战第28天】在PHP的编程世界中,面向对象编程(OOP)是一块基石,它不仅塑造了代码的结构,也影响了开发者的思考方式。本文将深入探讨PHP中面向对象的基础概念,通过浅显易懂的语言和生动的比喻,带领初学者步入这个充满魅力的世界。我们将一起探索类与对象的秘密,理解构造函数和析构函数的重要性,以及继承和多态性的魔法。准备好了吗?让我们开始这段激动人心的旅程!
未来编程:AI技术如何改变软件开发
随着人工智能技术的飞速发展,其在软件开发领域的应用日益广泛。从自动化测试到智能代码补全,AI正在逐步改变着程序员的工作方式和软件的开发流程。本文将深入探讨AI技术在软件开发中的应用,以及它如何影响未来的编程趋势。
C++设计哲学:构建高效和灵活代码的艺术
C++设计哲学:构建高效和灵活代码的艺术
174 1
软件开发者的时间都去哪儿了?后端开发核心技能——抽象建模
服务端开发工程师在大部分工作时间里并不是在写代码,而是在抽象建模。工程师需将业务需求抽象成领域模型、模块、服务和系统,面向对象开发时需抽象出类和对象,面向过程开发时抽象出方法和函数。某种意义上,软件的本质就是抽象,建模则是系统地实施抽象的过程。作为一种将事物形象化的有效手段,建模可将现实世界中的事物及事物之间的关系准确地表达出来。本文通过一个实际案例,详细解读业务抽象建模的好处。
175 1
软件开发者的时间都去哪儿了?后端开发核心技能——抽象建模
软件工程高效学 | 软件项目的开发模型
软件工程是计算机领域的一门专业基础课,它对于培养开发者的软件素质、提高开发者的软件开发能力与软件项目管理能力具有重要意义。本篇介绍软件项目的开发模型。
214 0
软件工程高效学 | 软件项目的开发模型
软件开发的过程
在软件工程中,软件开发方法(也称为系统开发方法,软件开发生命周期,软件开发过程,软件过程)是将软件开发工作划分为包含旨在更好的活动的不同阶段(或阶段)。规划和管理。
3189 0
语音软件开发,整洁的代码更有利于长期发展
语音软件开发,整洁的代码更有利于长期发展
实例化需求不可或缺的精益、敏捷需求实践 | 方法案例二
本文的主旨是帮助大家,第一:理解实例化需求,介绍实例化需求的 Why 和 What;第二:实施实例化需求,介绍实例化需求的 Who,When 和 How。如此 4W1H,帮助大家掌握这一高效的精益和敏捷需求实践,并落实验收测试驱动开发(ATDD)方法。
1817 0
实例化需求不可或缺的精益、敏捷需求实践 | 方法案例二
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等