Program Development in Java - Abstraction, Specification, and Object-Oriented Design

Program Development in Java - Abstraction, Specification, and Object-Oriented Design
复制标题

Java 程序开发 - 抽象、规范和面向对象设计

DOI:
--
复制
发表时间:
1986
期刊:
影响因子:
--
通讯作者:
J. Guttag
J. Guttag
中科院分区:
--
文献类型:
--
作者:
B. Liskov;J. Guttag

文献摘要

被引文献

相似文献

来自发布者: 这本书是由世界知名的编程方法专家撰写的,它展示了如何构建可靠,易于维护且快速修改的生产质量的程序计划。它的重点是模块化程序构建:如何使模块正确以及如何组织程序作为模块集合。该书提出了一种对单个程序员有效的方法,他们可能正在编写小程序或较大模块的单个模块;或软件工程师,他们可能是制定由许多模块组成的复杂程序的团队的一部分。这两个受众将从此方法中为面向对象的程序设计和基于组件的软件开发获得稳固的基础。 由于程序中的每个模块都对应于抽象,例如文档集合或程序集合以搜索该集合以获取感兴趣的文档,因此本书首先解释了对程序员最有用的抽象类型:过程;迭代抽象;而且,最关键的是数据抽象。实际上,作者将数据抽象视为面向对象的程序设计和实施中的中心范式。作者还显示了许多示例,如何开发非正式规格来定义这些摘要规范,以描述模块doand and do and the and the and in y the the the the the the the the the模块,以便他们按照可接受的性能来完成应有的事情。 讨论的其他主题包括: 封装以及实施的需求,以提供由简单性和绩效之间的规范权衡定义的行为,以帮助读者理解和理由理解和理由,重点介绍诸如REP不变性和抽象函数类型层次结构的属性及其在定义的家族中使用的属性相关数据摘要调试,测试和需求分析计划设计作为自上而下,迭代过程和设计模式 Java编程语言用于本书的示例。但是,提出的技术是独立的,对于可能不熟悉该语言的程序员,包括关键Java概念的介绍。
From the Publisher: Written by a world-renowned expert on programming methodology, this book shows how to build production-quality programsprograms that are reliable, easy to maintain, and quick to modify. Its emphasis is on modular program construction: how to get the modules right and how to organize a program as a collection of modules. The book presents a methodology effective for either an individual programmer, who may be writing a small program or a single module in a larger one; or a software engineer, who may be part of a team developing a complex program comprised of many modules. Both audiences will acquire a solid foundation for object-oriented program design and component-based software development from this methodology. Because each module in a program corresponds to an abstraction, such as a collection of documents or a routine to search the collection for documents of interest, the book first explains the kinds of abstractions most useful to programmers: procedures; iteration abstractions; and, most critically, data abstractions. Indeed, the author treats data abstraction as the central paradigm in object-oriented program design and implementation. The author also shows, with numerous examples, how to develop informal specifications that define these abstractionsspecifications that describe what the modules doand then discusses how to implement the modules so that they do what they are supposed to do with acceptable performance. Other topics discussed include: Encapsulation and the need for an implementation to provide the behavior defined by the specification Tradeoffs between simplicity and performanceTechniques to help readers of code understand and reason about it, focusing on such properties as rep invariants and abstraction functions Type hierarchy and its use in defining families of related data abstractions Debugging, testing, and requirements analysis Program design as a top-down, iterative process, and design patterns The Java programming language is used for the book's examples. However, the techniques presented are language independent, and an introduction to key Java concepts is included for programmers who may not be familiar with the language.