Custom cover image
Custom cover image

Real-world software development : a project-driven guide to fundamentals in Java / Raoul-Gabriel Urma and Richard Warburton

By: Contributor(s): Resource type: Ressourcentyp: Buch (Online)Book (Online)Language: English Publisher: Beijing ; Boston ; Farnham ; Sebastopol ; Tokyo : O´Reilly, [2020]Copyright date: © 2020]Edition: First editionDescription: 1 Online-Ressource (xiii, 184 pages) : illustrationsISBN:
  • 9781491967126
  • 9781491967140
Subject(s): Additional physical formats: 9781491967171 | Erscheint auch als: Real-world software development. Druck-Ausgabe First edition. Beijing : O´Reilly, 2019. xiii, 184 SeitenDDC classification:
  • 005.2/752
LOC classification:
  • QA76.73.J38
Online resources: Summary: Defining and Implementing the Appropriate InterfaceException Handling; Why Use Exceptions?; Patterns and Anti-Patterns with Exceptions; Guidelines for Using Exceptions; Alternatives to Exceptions; Using a Build Tool; Why Use a Build Tool?; Using Maven; Using Gradle; Takeaways; Iterating on You; Completing the Challenge; Chapter 4. The Document Management System; The Challenge; The Goal; Document Management System Requirements; Fleshing Out the Design; Importers; The Document Class; Attributes and Hierarchical Documents; Implementing and Registering ImportersSummary: Intro; Copyright; Table of Contents; Preface; Why We Wrote This Book; A Developer-Oriented Approach; What's in the Book?; Who Should Read This Book?; Conventions Used in This Book; Using Code Examples; O'Reilly Online Learning; How to Contact Us; Chapter 1. Starting the Journey; Themes; Java Features; Software Design and Architecture; SOLID; Testing; Chapter Summary; Iterating on You; Chapter 2. The Bank Statements Analyzer; The Challenge; The Goal; Bank Statements Analyzer Requirements; KISS Principle; final Variables; Code Maintainability and Anti-Patterns; God Class; Code DuplicationSummary: Interface Segregation PrincipleDesigning a Fluent API; What Is a Fluent API?; Modeling the Domain; Builder Pattern; Takeaways; Iterating on You; Completing the Challenge; Chapter 6. Twootr; The Challenge; The Goal; Twootr Requirements; Design Overview; Pull-Based; Push-Based; From Events to Design; Communication; GUI; Persistence; The Hexagonal Architecture; Where to Begin; Passwords and Security; Followers and Twoots; Modeling Errors; Twooting; Creating Mocks; Verifying with Mocks; Mocking Libraries; SenderEndPoint; Positions; The equals and hashcode MethodsSummary: Single Responsibility PrincipleCohesion; Class-Level Cohesion; Method-Level Cohesion; Coupling; Testing; Automated Testing; Using JUnit; Code Coverage; Takeaways; Iterating on You; Completing the Challenge; Chapter 3. Extending the Bank Statements Analyzer; The Challenge; The Goal; Extended Bank Statements Analyzer Requirements; Open/Closed Principle; Creating an Instance of a Functional Interface; Lambda Expressions; Interfaces Gotchas; God Interface; Too Granular; Explicit Versus Implicit API; Domain Class or Primitive Value?; Multiple Exporters; Introducing a Domain ObjectSummary: The Liskov Substitution Principle (LSP)Alternative Approaches; Making Importer a Class; Scoping and Encapsulation Choices; Extending and Reusing Code; Test Hygiene; Test Naming; Behavior Not Implementation; Don't Repeat Yourself; Good Diagnostics; Testing Error Cases; Constants; Takeaways; Iterating on You; Completing the Challenge; Chapter 5. The Business Rules Engine; The Challenge; The Goal; Business Rules Engine Requirements; Test Driven Development; Why Use TDD?; The TDD Cycle; Mocking; Adding Conditions; Modeling State; Local Variable Type Inference; Switch ExpressionsPPN: PPN: 1694274276Package identifier: Produktsigel: ZDB-4-NLEBK
No physical items for this record

Powered by Koha