000 04090nam a22004215i 4500
999 _c383238
_d383238
_x1
001 383238
003 ES-MaUEC
005 20230102122058.0
006 a||||fo|||| 00| 0
007 cr nn 008mamaa
008 221112s2022 sz | s |||| 0|eng d
020 _a9783030978990
024 7 _a10.1007/978-3-030-97899-0
_2doi
040 _aES-MaUEC
_bspa
_cES-MaUEC
_dES-MaUEC
050 4 _aQA76.76
_b2022 EB
100 1 _aRobillard, Martin P.
_eautor
_4aut
_4http://id.loc.gov/vocabulary/relators/aut
_9685333
245 1 0 _aIntroduction to Software Design with Java
_cby Martin P. Robillard
250 _aSecond edition 2022
264 1 _aCham
_bSpringer International Publising
_c2022
300 _a1 recurso en línea (XII, 300 páginas)
_b100 ilustraciones, 16 ilustraciones a color
336 _atexto
_btxt
_2rdacontent
337 _aelectrónico
_bc
_2rdamedia
338 _arecurso electrónico
_bcr
_2rdacarrier
347 _aarchivo de texto
_bPDF
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 exercises is 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.
988 _aSpringer_Computer_2022
650 7 _2embne
_9149304
_aProgramación orientada a objetos
650 7 _2embne
_9151377
_aJava (Lenguaje de programación)
650 7 _2embne
_9143838
_aSoftware
776 0 8 _iPrinted edition:
_z9783030978983
776 0 8 _iPrinted edition:
_z9783030979003
856 4 0 _uhttps://go.openathens.net/redirector/universidadeuropea.es?url=https://doi.org/10.1007/978-3-030-97899-0
_zAcceso a este recurso digital (usuarios Universidad Europea de Madrid)
942 _2lcc
_cLE
998 _b11/2022
_dz
_eIG
_zSI