000 | 04152nam a22005055i 4500 | ||
---|---|---|---|
001 | 978-3-030-97899-0 | ||
003 | DE-He213 | ||
005 | 20240423125546.0 | ||
007 | cr nn 008mamaa | ||
008 | 220502s2022 sz | s |||| 0|eng d | ||
020 |
_a9783030978990 _9978-3-030-97899-0 |
||
024 | 7 |
_a10.1007/978-3-030-97899-0 _2doi |
|
050 | 4 | _aQA76.758 | |
072 | 7 |
_aUMZ _2bicssc |
|
072 | 7 |
_aCOM051230 _2bisacsh |
|
072 | 7 |
_aUMZ _2thema |
|
082 | 0 | 4 |
_a005.1 _223 |
100 | 1 |
_aRobillard, Martin P. _eauthor. _4aut _4http://id.loc.gov/vocabulary/relators/aut |
|
245 | 1 | 0 |
_aIntroduction to Software Design with Java _h[electronic resource] / _cby Martin P. Robillard. |
250 | _a2nd ed. 2022. | ||
264 | 1 |
_aCham : _bSpringer International Publishing : _bImprint: Springer, _c2022. |
|
300 |
_aXII, 300 p. 100 illus., 16 illus. in color. _bonline resource. |
||
336 |
_atext _btxt _2rdacontent |
||
337 |
_acomputer _bc _2rdamedia |
||
338 |
_aonline resource _bcr _2rdacarrier |
||
347 |
_atext file _bPDF _2rda |
||
505 | 0 | _a1. Introduction -- 2. Encapsulation -- 3. Types and Interfaces -- 4. Object State -- 5. Unit Testing -- 6. Composition -- 7. Inheritance -- 8. Inversion of Control -- 9. Functional Design. | |
520 | _aThis 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, the text follows a continuous narrative that introduces each element of design know-how in context, and explores alternative solutions in that context. This narrative is complemented by hundreds of code fragments and design diagrams. The first chapter is a general introduction to software design and the subsequent chapters cover design concepts and techniques. The concepts and techniques covered include interfaces, encapsulation, inheritance, design patterns, composition, functional-style design, 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 exercisesis provided, as well as two complete sample applications. Guidance on these sample applications is provided in “Code Exploration” insets throughout the book. 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 second edition covers additional design techniques such as input validation and dependency injection. It also provides extended and revised treatment of many core subjects, including polymorphic copying, unit testing, the Observer pattern, and functional-style programming. 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 with no previous background in computing. In a similar vein, understanding the code fragments requires only a minimal grasp of the Java language, such as would be taught in an introductory programming course. | ||
650 | 0 | _aSoftware engineering. | |
650 | 0 | _aJava (Computer program language). | |
650 | 0 | _aCompilers (Computer programs). | |
650 | 1 | 4 | _aSoftware Engineering. |
650 | 2 | 4 | _aJava. |
650 | 2 | 4 | _aCompilers and Interpreters. |
710 | 2 | _aSpringerLink (Online service) | |
773 | 0 | _tSpringer Nature eBook | |
776 | 0 | 8 |
_iPrinted edition: _z9783030978983 |
776 | 0 | 8 |
_iPrinted edition: _z9783030979003 |
856 | 4 | 0 | _uhttps://doi.org/10.1007/978-3-030-97899-0 |
912 | _aZDB-2-SCS | ||
912 | _aZDB-2-SXCS | ||
942 | _cSPRINGER | ||
999 |
_c179279 _d179279 |