Op werkdagen voor 23:00 besteld, morgen in huis Gratis verzending vanaf €20
,

Real–World Software Development

A Project-Driven Guide to Fundamentals in Java

Paperback Engels 2019
Verkooppositie 6023
Verwachte levertijd ongeveer 8 werkdagen

Samenvatting

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.

Specificaties

ISBN13:9781491967171
Taal:Engels
Bindwijze:paperback
Aantal pagina's:202
Uitgever:O'Reilly
Druk:1
Verschijningsdatum:13-12-2019

Lezersrecensies

Wees de eerste die een lezersrecensie schrijft!

Geef uw waardering

Zeer goed Goed Voldoende Matig Slecht

Over Raoul-Gabriel Urma

Raoul-Gabriel Urma is an author of the bestselling book “Java 8 in Action” (Manning). He has worked as a software engineer for Oracle’s Java Platform Group, as well as for Google’s Python team, eBay, and Goldman Sachs. An instructor and frequent conference speaker, he’s currently completing a PhD in Computer Science at the University of Cambridge. He is also co-founder of Cambridge Coding Academy and a Fellow of the Royal Society of Arts. In addition, Raoul-Gabriel holds a MEng in Computer Science from Imperial College London and graduated with first-class honors, having won several prizes for technical innovation.

Andere boeken door Raoul-Gabriel Urma

Over Richard Warburton

Richard is an empirical technologist and solver of deep-dive technical problems. He has professionally worked on static analysis problems, verifying part of a compiler and developing advanced automated bug detection technology. More recently his career has been focussed on data analytics for high performance computing. He is a leader in the London Java Community, sits on their JCP Committee and organises the Adopt-a-JSR programs for Lambdas and Date and Time in Java 8. Richard is also a known conference speaker, having talked at JavaOne, DevoxxUK and JAX London. He obtained a PhD in Computer Science from The University of Warwick where his research focussed on compiler theory.

Andere boeken door Richard Warburton

Inhoudsopgave

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

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
Method-Level Cohesion
Coupling
Testing
Automated Testing
Using JUnit
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
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

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
Don’t 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
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

Managementboek TOP 5

Rubrieken

Populaire producten

    Personen

      Trefwoorden

        Real–World Software Development