Object-oriented software design

Quality in software is the result of a good design


We want you to develop with a dynamic language, which, you can use use in current or future developments and give you productivity bonuses for you and your team.

Even the incorrect code can work.But if the code is not clear, you can put on your knees to a development organization.Each year, innumerable hours and important resources are lost due to a badly written code.But it does not have to be like that.

Today is the day where we see that good frameworks and libraries are used, and yet the applications are difficult to maintain, grow and have poor performance, what we do in this training is to show the background reasons for these problems, andImprove the understanding of the paradigm oriented to objects.

· Who is going:

This training is recommended for developers:

  • Developers who wish to improve the design of their applications
  • Developers who want to improve the performance of applications
  • All those developers who want to improve the quality of the software
  • Companies and systems of systems that wish to improve the quality and stability of their applications
  • Those developers who want to extend the power of abstraction management

· Pre-requirements:


  • Management of a text editor
  • Management of an IDE
  • Know an object-oriented programming language
  • Know the management of a dependency manager
  • Have an application that presents symptoms of malfunction, improvement points or low performance

· Content of the training:

  • Principles of design
  • Aromas in the code
  • Class Design
  • Cohesion of classes and abstractions
  • Classes and abstractions
  • General rules
  • Coding environments
  • Injection of dependencies
  • Simple designs
  • Dependencies
  • Appointed with components
  • “Understability”
  • Design of methods
  • Source code structure
  • Conditional
  • Things of little use
  • Assassins of maintainability
  • Management of errors and exceptions
  • Legacy code
  • Patterns of ** Refctor **
  • Some XP practices
    • Pair Programming
    • Code Review