Introduction to Software Design with Java

In a similar vein, understanding the code fragments requires only a minimal grasp of the language, such as would be taught in an introductory programming course

Main Author: Robillard, Martin P.
Corporate Author: SpringerLink (Online service)
Format: eBook
Published: Cham Springer International Publishing 2019, 2019
Edition:1st ed. 2019
Online Access:
Collection: Springer eBooks 2005- - Collection details see MPG.ReNa
LEADER 03357nmm a2200349 u 4500
001 EB001890320
003 EBX01000000000000001053681
005 00000000000000.0
007 cr|||||||||||||||||||||
008 200120 ||| eng
020 |a 9783030240943 
100 1 |a Robillard, Martin P. 
245 0 0 |a Introduction to Software Design with Java  |h Elektronische Ressource  |c by Martin P. Robillard 
250 |a 1st ed. 2019 
260 |a Cham  |b Springer International Publishing  |c 2019, 2019 
300 |a XII, 297 p. 100 illus  |b online resource 
505 0 |a Introduction -- Encapsulation -- Types and Interfaces -- Object State -- Unit Testing -- Composition -- Inheritance -- Inversion of Control -- Functional Design 
653 |a Software engineering 
653 |a Programming Languages, Compilers, Interpreters 
653 |a Java 
653 |a Programming languages (Electronic computers) 
653 |a Software Engineering 
653 |a Java (Computer program language) 
710 2 |a SpringerLink (Online service) 
041 0 7 |a eng  |2 ISO 639-2 
989 |b Springer  |a Springer eBooks 2005- 
856 |u  |x Verlag  |3 Volltext 
082 0 |a 005.1 
520 |a In a similar vein, understanding the code fragments requires only a minimal grasp of the language, such as would be taught in an introductory programming course 
520 |a To support this aspect of the learning process, a companion website with practice problems is provided, and three sample applications that capture numerous design decisions are included. Guidance on these sample applications is provided in a section called “Code Exploration” at the end of each chapter. Although the Java language is used as a means of conveying design-related ideas, the book’s main goal is to address concepts and techniques that are applicable in a host of technologies. This book is intended for readers who have a minimum of programming experience and want to move from writing small programs and scripts to tackling the development of larger systems. This audience naturally includes students in university-level computer science and software engineering programs. As the prerequisites to specific computing concepts are kept to a minimum, the content is also accessible to programmers without a primary training in computing.  
520 |a This textbook provides an in-depth introduction to software design, with a focus on object-oriented design, and using the Java programming language. Its goal is to help readers learn software design by discovering the experience of the design process. To this end, a narrative is used that introduces each element of design know-how in context, and explores alternative solutions in that context. The narrative is supported by hundreds of code fragments and design diagrams. The first chapter is a general introduction to software design. The subsequent chapters cover design concepts and techniques, which are presented as a continuous narrative anchored in specific design problems. The design concepts and techniques covered include effective use of types and interfaces, encapsulation, composition, inheritance, design patterns, unit testing, and many more. A major emphasis is placed on coding and experimentation as a necessary complement to reading the text.