Introduction to Software Design with Java

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...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Robillard, Martin P. (Συγγραφέας, http://id.loc.gov/vocabulary/relators/aut)
Συγγραφή απο Οργανισμό/Αρχή: SpringerLink (Online service)
Μορφή: Ηλεκτρονική πηγή Ηλ. βιβλίο
Γλώσσα:English
Έκδοση: Cham : Springer International Publishing : Imprint: Springer, 2019.
Έκδοση:1st ed. 2019.
Θέματα:
Διαθέσιμο Online:Full Text via HEAL-Link
LEADER 04074nam a2200469 4500
001 978-3-030-24094-3
003 DE-He213
005 20191026152405.0
007 cr nn 008mamaa
008 190712s2019 gw | s |||| 0|eng d
020 |a 9783030240943  |9 978-3-030-24094-3 
024 7 |a 10.1007/978-3-030-24094-3  |2 doi 
040 |d GrThAP 
050 4 |a QA76.758 
072 7 |a UMZ  |2 bicssc 
072 7 |a COM051230  |2 bisacsh 
072 7 |a UMZ  |2 thema 
082 0 4 |a 005.1  |2 23 
100 1 |a Robillard, Martin P.  |e author.  |4 aut  |4 http://id.loc.gov/vocabulary/relators/aut 
245 1 0 |a Introduction to Software Design with Java  |h [electronic resource] /  |c by Martin P. Robillard. 
250 |a 1st ed. 2019. 
264 1 |a Cham :  |b Springer International Publishing :  |b Imprint: Springer,  |c 2019. 
300 |a XII, 297 p. 100 illus.  |b online resource. 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
347 |a text file  |b PDF  |2 rda 
505 0 |a Introduction -- Encapsulation -- Types and Interfaces -- Object State -- Unit Testing -- Composition -- Inheritance -- Inversion of Control -- Functional Design. 
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. 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. 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. 
650 0 |a Software engineering. 
650 0 |a Java (Computer program language). 
650 0 |a Programming languages (Electronic computers). 
650 1 4 |a Software Engineering.  |0 http://scigraph.springernature.com/things/product-market-codes/I14029 
650 2 4 |a Java.  |0 http://scigraph.springernature.com/things/product-market-codes/I29070 
650 2 4 |a Programming Languages, Compilers, Interpreters.  |0 http://scigraph.springernature.com/things/product-market-codes/I14037 
710 2 |a SpringerLink (Online service) 
773 0 |t Springer eBooks 
776 0 8 |i Printed edition:  |z 9783030240936 
776 0 8 |i Printed edition:  |z 9783030240950 
856 4 0 |u https://doi.org/10.1007/978-3-030-24094-3  |z Full Text via HEAL-Link 
912 |a ZDB-2-SCS 
950 |a Computer Science (Springer-11645)