reklama - zainteresowany?

Real-World Software Development. A Project-Driven Guide to Fundamentals in Java - Helion

Real-World Software Development. A Project-Driven Guide to Fundamentals in Java
ebook
Autor: Raoul-Gabriel Urma, Richard Warburton
ISBN: 978-14-919-6712-6
stron: 202, Format: ebook
Data wydania: 2019-12-02
Księgarnia: Helion

Cena książki: 194,65 zł (poprzednio: 226,34 zł)
Oszczędzasz: 14% (-31,69 zł)

Dodaj do koszyka Real-World Software Development. A Project-Driven Guide to Fundamentals in Java

Tagi: Java - Programowanie

Explore the latest Java-based software development techniques and methodologies through the project-based approach in this practical guide. Unlike books that use abstract examples and lots of theory, Real-World Software Development shows you how to develop several relevant projects while learning best practices along the way.

With this engaging approach, junior developers capable of writing basic Java code will learn about state-of-the-art software development practices for building modern, robust and maintainable Java software. You’ll work with many different software development topics that are often excluded from software develop how-to references.

Featuring real-world examples, this book teaches you techniques and methodologies for functional programming, automated testing, security, architecture, and distributed systems.

Dodaj do koszyka Real-World Software Development. A Project-Driven Guide to Fundamentals in Java

 

Osoby które kupowały "Real-World Software Development. A Project-Driven Guide to Fundamentals in Java", wybierały także:

  • Wprowadzenie do Javy. Programowanie i struktury danych. Wydanie XII
  • Spring i Spring Boot. Kurs video. Testowanie aplikacji i bezpiecze
  • Metoda dziel i zwyci
  • JavaFX. Kurs video. Wzorce oraz typy generyczne
  • Platforma Xamarin. Kurs video. Poziom drugi. Zaawansowane techniki tworzenia aplikacji cross-platform

Dodaj do koszyka Real-World Software Development. A Project-Driven Guide to Fundamentals in Java

Spis treści

Real-World Software Development. A Project-Driven Guide to Fundamentals in Java eBook -- spis treści

  • Preface
    • Why We Wrote This Book
    • A Developer-Oriented Approach
    • Whats in the Book?
    • Who Should Read This Book?
    • Conventions Used in This Book
    • Using Code Examples
    • OReilly Online Learning
    • How to Contact Us
  • 1. Starting the Journey
    • Themes
      • Java Features
      • Software Design and Architecture
      • SOLID
      • Testing
    • Chapter Summary
    • Iterating on You
  • 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 Duplication
    • Single Responsibility Principle
    • Cohesion
      • Class-Level Cohesion
        • Functional
        • Informational
        • Utility
        • Logical
        • Sequential
        • Temporal
      • Method-Level Cohesion
    • Coupling
    • Testing
      • Automated Testing
        • Confidence
        • Robustness to changes
        • Program comprehension
      • Using JUnit
        • Defining a test method
        • Assert statements
      • Code Coverage
    • Takeaways
    • Iterating on You
    • Completing the Challenge
  • 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 Object
      • Defining and Implementing the Appropriate Interface
    • Exception Handling
      • Why Use Exceptions?
      • Patterns and Anti-Patterns with Exceptions
        • Deciding between unchecked and checked
        • Overly specific
        • Overly apathetic
        • Notification Pattern
      • Guidelines for Using Exceptions
        • Do not ignore an exception
        • Do not catch the generic Exception
        • Document exceptions
        • Watch out for implementation-specific exceptions
        • Exceptions versus Control flow
      • Alternatives to Exceptions
        • Using null
        • The Null Object pattern
        • Optional<T>
        • Try<T>
    • Using a Build Tool
      • Why Use a Build Tool?
      • Using Maven
        • Project structure
        • Example build file
        • Maven commands
      • Using Gradle
        • Example build file
        • Gradle commands
    • Takeaways
    • Iterating on You
    • Completing the Challenge
  • 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 Importers
    • 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
      • Dont Repeat Yourself
      • Good Diagnostics
      • Testing Error Cases
      • Constants
    • Takeaways
    • Iterating on You
    • Completing the Challenge
  • 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 Expressions
      • Interface Segregation Principle
    • Designing a Fluent API
      • What Is a Fluent API?
      • Modeling the Domain
      • Builder Pattern
    • Takeaways
    • Iterating on You
    • Completing the Challenge
  • 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 Methods
      • The Contract Between equals and hashCode
    • Takeaways
    • Iterating on You
    • Completing the Challenge
  • 7. Extending Twootr
    • The Challenge
    • The Goal
    • Recap
    • Persistence and the Repository Pattern
      • Designing the Repositories
      • Query Objects
    • Functional Programming
      • Lambda Expressions
      • Method References
      • Execute Around
      • Streams
        • map()
        • forEach()
        • filter()
        • reduce()
      • Optional
    • User Interface
    • Dependency Inversion and Dependency Injection
    • Packages and Build Systems
    • Limitations and Simplifications
    • Takeaways
    • Iterating on You
    • Completing the Challenge
  • 8. Conclusion
    • Project-Based Structure
    • Iterating on You
    • Deliberate Practice
    • Next Steps and Additional Resources
  • Index

Dodaj do koszyka Real-World Software Development. A Project-Driven Guide to Fundamentals in Java

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.