Program Development in Java: Abstraction, Specification, and by Barbara Liskov,John Guttag

By Barbara Liskov,John Guttag

Written via a world-renowned professional on programming method, and the winner of the 2008 Turing Award, this publication exhibits the way to construct production-quality programs--programs which are trustworthy, effortless to take care of, and quickly to switch. Its emphasis is on modular software development: how one can get the modules correct and the way to prepare a software as a set of modules. The booklet offers a technique powerful for both anyone programmer, who could be writing a small application or a unmarried module in a bigger one; or a software program engineer, who can be a part of a staff constructing a posh software produced from many modules. either audiences will collect a high-quality starting place for object-oriented software layout and component-based software program improvement from this system.

Because each one module in a software corresponds to an abstraction, comparable to a set of files or a regimen to go looking the gathering for records of curiosity, the booklet first explains the types of abstractions most beneficial to programmers: tactics; generation abstractions; and, so much severely, facts abstractions. certainly, the writer treats information abstraction because the crucial paradigm in object-oriented application layout and implementation. the writer additionally exhibits, with various examples, the right way to strengthen casual requisites that outline those abstractions--specifications that describe what the modules do--and then discusses easy methods to enforce the modules so they do what they're purported to do with applicable functionality.

Other themes mentioned contain:

  • Encapsulation and the necessity for an implementation to supply the habit outlined through the specification
  • Tradeoffs among simplicity and function
  • Techniques to aid readers of code comprehend and cause approximately it, targeting such houses as rep invariants and abstraction capabilities
  • Type hierarchy and its use in defining households of similar facts abstractions
  • Debugging, checking out, and specifications research
  • Program layout as a top-down, iterative approach, and layout styles

The Java programming language is used for the book's examples. in spite of the fact that, the thoughts provided are language self sufficient, and an advent to key Java suggestions is incorporated for programmers who will not be acquainted with the language.

Show description

Read or Download Program Development in Java: Abstraction, Specification, and Object-Oriented Design PDF

Best object oriented design books

Logic Program Synthesis from Incomplete Information (The Springer International Series in Engineering and Computer Science)

Application synthesis is an answer to the software program hindrance. If we had a software that develops right courses from standards, then software validation and upkeep might disappear from the software program life-cycle, and possible specialise in the extra inventive projects of specification elaboration, validation, and upkeep, simply because replay of application improvement will be more cost-effective.

Design Patterns in Java™ (2nd Edition) (Software Patterns Series)

Layout styles in Java™ can provide the hands-on perform and deep perception you must absolutely leverage the numerous strength of layout styles in any Java software program undertaking. the fitting supplement to the vintage layout styles, this learn-by-doing workbook applies the most recent Java beneficial properties and top practices to all the unique 23 styles pointed out in that groundbreaking textual content.

Oracle Certified Associate, Java SE 7 Programmer Study Guide

Each one target is addressed utilizing a sequence of programming examples. whilst the subject affects reminiscence, stack and heap illustrations are used to supply the reader with a extra extensive realizing of the subject. on the finish of every bankruptcy, a chain of pattern questions are supplied to augment your wisdom.

Jump Start CoffeeScript: Get Up to Speed With CoffeeScript in a Weekend

A pragmatic and concise advent to CoffeeScript, a programming language that compiles into JavaScript and that makes operating with JavaScript more uncomplicated. The booklet lays out the fundamentals of the language, its syntax, and the fascinating gains that set it except JavaScript. it's going to fulfill an individual with an intermediate point of figuring out of JavaScript who wishes a conceptual and useful creation to CoffeeScript.

Additional resources for Program Development in Java: Abstraction, Specification, and Object-Oriented Design

Example text

Download PDF sample

Rated 4.12 of 5 – based on 15 votes