The “Simple Object-Oriented Design, Video Edition” is a course in which Mauricio Aniche reads his book aloud and simultaneously shows you the content in addition to the figures, code listings, and diagrams. It is like an audiobook but contains some pictures that make learning more effective. Non-stop practical tips and cases from 20 years of Aniche`s experience will help you manage the paths of the code’s natural development without any difficulty.
It’s fundamental concepts that would turn your code into being readable and consistently documented, cohesively managing dependencies, flexible abstractions, infrastructural considerations, and finally, the split up of your application into manageable modules. This course, “Simple Object-Oriented Design, Video Edition,” allows someone attempting to read code to immediately know good or bad Object-Oriented Design and assist in making improved tradeoffs on a plight of choice. You will also learn when it is suitable to keep the aggregate organization of your code simple while increasing the complexity.
The techniques explained in this course, “Simple Object-Oriented Design, Video Edition,” help you make your applications future-proofed and easily maintainable without wasting time in the development process. This book is about growing object-oriented software, written for developers with or without OOP experience who want practical recommendations on how to make code growing gradually simple and efficient.
Simple Object-Oriented Design, Video Edition Table of Contents:
- Chapter 1. It’s all about managing complexity
- Chapter 1. Designing simple object-oriented systems
- Chapter 1. Simple design as a day-to-day activity
- Chapter 1. A short dive into the architecture of an information system
- Chapter 1. The example project: PeopleGrow!
- Chapter 1. Exercises
- Chapter 1. Summary
- Chapter 2. Making code small
- Chapter 2. Make code readable and documented
- Chapter 2. Move new complexity away from existing classes
- Chapter 2. Exercises
- Chapter 2. Summary
- Chapter 3. Keeping objects consistent
- Chapter 3. Design effective data validation mechanisms
- Chapter 3. Encapsulate state checks
- Chapter 3. Provide only getters and setters that matter
- Chapter 3. Model aggregates to ensure invariants in clusters of objects
- Chapter 3. Exercises
- Chapter 3. Summary
- Chapter 4. Managing dependencies
- Chapter 4. Avoid coupling to details or things you don’t need
- Chapter 4. Break down classes that depend on too many other classes
- Chapter 4. Inject dependencies, aka dependency injection
- Chapter 4. Exercises
- Chapter 4. Summary
- Chapter 5. Designing good abstractions
- Chapter 5. Generalize important business rules
- Chapter 5. Prefer simple abstractions
- Chapter 5. Exercises
- Chapter 5. Summary
- Chapter 6. Handling external dependencies and infrastructure
- Chapter 6. Use the infrastructure fully
- Chapter 6. Only depend on things you own
- Chapter 6. Encapsulate low-level infrastructure errors into high-level domain errors
- Chapter 6. Exercises
- Chapter 6. Summary
- Chapter 7. Achieving modularization
- Chapter 7. Design clear interfaces
- Chapter 7. No intimacy between modules
- Chapter 7. Exercises
- Chapter 7. Summary
- Chapter 8. Being pragmatic
- Chapter 8. Refactor aggressively but in small steps
- Chapter 8. Accept that your code won’t ever be perfect
- Chapter 8. Consider redesigns
- Chapter 8. You owe this to junior developers
- Chapter 8. References
- Chapter 8. Exercises
- Chapter 8. Summary
Who is this course for?
- Anyone who is familiar with an object-oriented language like Java, C#, or Python.
Click on the links below to Download Simple Object-Oriented Design, Video Edition!
در حال پاسخ به :