000 | 03940nam a22005055i 4500 | ||
---|---|---|---|
001 | 978-3-030-24094-3 | ||
003 | DE-He213 | ||
005 | 20240423125303.0 | ||
007 | cr nn 008mamaa | ||
008 | 190712s2019 sz | s |||| 0|eng d | ||
020 |
_a9783030240943 _9978-3-030-24094-3 |
||
024 | 7 |
_a10.1007/978-3-030-24094-3 _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 | _a1st ed. 2019. | ||
264 | 1 |
_aCham : _bSpringer International Publishing : _bImprint: Springer, _c2019. |
|
300 |
_aXII, 297 p. 100 illus. _bonline resource. |
||
336 |
_atext _btxt _2rdacontent |
||
337 |
_acomputer _bc _2rdamedia |
||
338 |
_aonline resource _bcr _2rdacarrier |
||
347 |
_atext file _bPDF _2rda |
||
505 | 0 | _aIntroduction -- Encapsulation -- Types and Interfaces -- Object State -- Unit Testing -- Composition -- Inheritance -- Inversion of Control -- 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, 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 | _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: _z9783030240936 |
776 | 0 | 8 |
_iPrinted edition: _z9783030240950 |
856 | 4 | 0 | _uhttps://doi.org/10.1007/978-3-030-24094-3 |
912 | _aZDB-2-SCS | ||
912 | _aZDB-2-SXCS | ||
942 | _cSPRINGER | ||
999 |
_c176294 _d176294 |