Elapse

Clean Architecture avec Robert C. Martin

Résumé

Clean Architecture est le tout dernier livre de Bob. Vous avez la possibilité de vous inscrire au premier cours public basé sur ce nouveau livre. Ne ratez pas cette occasion unique!

Durée: 2 jours

Prochains cours offerts

Nos formations en classes sont actuellement suspendues en raison de la COVID19.

Si cette formation n'est pas encore disponible dans notre catalogue de formations en ligne, écrivez-nous afin de vous informer sur sa disponibilité pour votre entreprise.

Click here for English version (or scroll down) 

L'équipe d'Elapse Technologies est fière de présenter la formation "Clean Architecture" de Robert C. Martin (Uncle Bob) à Montréal et Québec.

Description du cours

 CleanarchitectureCleanarchitecturebook

Joignez-vous à Robert «Uncle Bob» Martin pour ce nouveau cours passionnant sur le "Clean Architecture" et profitez de ses années d’expérience dans le secteur et de sa compréhension approfondie des principes et des meilleures pratiques. Du code à la conception et aux composants, vous apprendrez à combiner les concepts de "Clean Architecture" afin de créer des systèmes logiciels robustes, faciles à maintenir et qui résistent à l’épreuve du temps.

La complexité de vos systèmes vous donne du fil à retordre? Suivez ce cours et découvrez comment améliorer considérablement la productivité des développeurs tout au long de la vie de tout système logiciel, en utilisant les règles universelles de l'architecture logicielle.

Ce cours vous apprendra, à vous et à votre équipe, les principes "SOLID" dont vous avez besoin pour apporter professionnalisme et discipline à la structure de la conception de vos applications. Vous obtiendrez ainsi des systèmes robustes qui protègent les règles d'affaires de grande valeur des modifications apportées à des parties non liées du système et supportent les défis de sécurité liés à des cycles de vie étendus avec de nombreux contributeurs.

À travers une série d'exposés et d'exercices, explorez les principes "SOLID", la cohésion des composants, le couplage entre composants, et comment empêcher les composants du système à différents niveaux de s'influencer mutuellement. Apprenez ensuite à structurer ces composants et leurs frontières au sein de votre système, et à utiliser diverses stratégies de déploiement, notamment des microservices.

M. Martin est reconnu pour sa capacité à vulgariser et à promouvoir les principes, les modèles de conception et les techniques de programmation garantes de succès. Cette formation vous permettra d’apprendre par la théorie, des études de cas et des exercices pratiques. Connaître et appliquer les bonnes pratiques de programmation décuplera votre productivité et celle de votre équipe.

À propos de Robert C. Martin

Robert C. Martin est un expert reconnu mondialement dans le développement logiciel et l'un des signataires originaux du Manifeste Agile. Ce pionnier est aujourd'hui reconnu comme l'une des personnes les plus influentes en développement Agile. Figure de proue du développement logiciel, il demeure un ardent promoteur et initiateur des meilleures pratiques de développement logiciel comme le démontre son blogue. En plus d'avoir travaillé sur des centaines de projets logiciels dans les 40 dernières années, il est l’auteur de plusieurs livres d’importance à propos de l’Agilité, les bonnes pratiques de programmation, l’Extreme Programming, l’UML et la programmation orientée objet.

Objectifs de la formation

  • Créer des architectures qui gardent autant d'options ouvertes que possible
  • Divisez les systèmes en frontières qui protègent les règles d'affaires de grande valeur des modifications apportées à des parties non liées du système 
  • Tirez parti des différences entre les architectures et les stratégies de déploiement telles que le microservice, le multiprocessus et le monolithe
  • Créer des structures de systèmes logiciels minimisant l'effort nécessaire à leur développement et à leur maintenance
  • Construire des systèmes qui supportent des cycles de vie longs et chaotiques

Contenu

Note: La formation se déroulera en anglais. 

Commencer par les bases

  • Le rôle de l'architecture
  • Paradigmes
  • Principes de design modulaire
  • Couplage des composantes

Architecture

  • Qu'est-ce que l'architecture?
  • Indépendance et découplage
  • Frontières ("Boundaries")
  • L'anatomie d'une frontière
  • Politique et niveau ("Policy and Level")
  • Règles d'affaires
  • Architecture criante ("Screaming Architecture")
  • L'"Architecture Clean" 
  • Présenteurs et les objets humbles
  • Frontières partielles
  • Couches et frontières
  • Composant principal ("Main Component")
  • Services grands et petits
  • La frontière des tests

Détails

  • La base de données
  • Le Web
  • Les frameworks

Public visé

Ce cours s'adresse aux développeurs de logiciels expérimentés, connaissant bien les concepts de la conception de logiciels. Ils les aideront à organiser et à appliquer leurs connaissances actuelles à la création d'architectures de systèmes robustes, capables de résister à de longs cycles de vie.

 

Q & R

Q: Y a-t-il des exercices? Avons-nous besoin d'un ordinateur?
R: Pas d'ordinateur. Les exercices sont sur papier en utilisant UML.

Q: Les développeurs qui ne connaissent que quelques notions de Clean Code / TDD tireront-ils profit de cette classe ou ont-ils besoin de plus d'expérience (modèles de conception, SOLID, etc.)?
A: La formation est pour tous les développeurs. Elle aborde SOLID en résumé. Elle ne parle pas des patrons de conception.

Q: Allez-vous parler de sujets dépassant le code (infrastructure, réseau, outils techniques, etc.) ou d'autres sujets de leadership technique (comment coacher les développeurs, créer plus de conceptions visuelles, etc.)?
A: Le sujet principal de la formation est la conception de la structure des composants / services qui constituent un système plus large. Les réseaux et les bases de données sont adressés. Les problèmes de leadership non techniques ne le sont pas.

Vous avez d'autres questions? Ne soyez pas timide et écrivez-nous à formation@elapsetech.com 


Elapse Technologies is proud to present Robert C. Martin's (Uncle Bob) "Clean Architecture" class in Montreal and Quebec City.

Course description

 

 CleanarchitectureCleanarchitecturebook

 

Join Robert 'Uncle Bob' Martin on this exciting new Clean Architecture course and benefit from his years of experience in the industry and deep understanding of the principles and best practices. From code to design and components, you will learn to bring the concepts of clean architecture together, in order to create robust and easily maintainable software systems which stand the test of time.

Struggling with system complexity? Join this course and learn how to dramatically improve developer productivity throughout the life of any software system, using the universal rules of software architecture.

This course will teach you and your team the robust principles you need to bring professionalism and discipline to the structure of your application design, resulting in strong systems which protect high value business rules from changes to unrelated parts of the system, and endure the challenges of extensive life cycles with numerous contributors.

Through a series of lectures and exercises, explore the SOLID principles, component cohesion and component to coupling, and how to keep system components at various levels from unduly influencing each other. Then learn how to structure those components and boundaries within your application system, and employ various deployment strategies including microservices.

M. Martin is a story teller. He his known for his ability to explain difficult principles, concepts and practices in his own unique and flamboyant way. You will learn to become a better programmer through a mix of theory, case studies and practical exercises. Understanding and applying these programming practices will improve your team's productivity as well as your own. 

 

About Robert C. Martin 

Robert C. Martin has been a software professional since 1970. In the last 40 years, he has worked in various capacities on literally hundreds of software projects. He has authored "landmark" books on Agile Programming, Extreme Programming, UML, Object-Oriented Programming, and C++ Programming. He has published dozens of articles in various trade journals. Today, He is one of the software industry's leading authorities on Agile software development and is a regular speaker at international conferences and trade shows. He is a former editor of the C++ Report and currently writes a monthly Craftsman column for Software Development magazine.

 

Course objectives

By the end of this course, you will know how to:

  • Create architectures that keep as many options open as possible
  • Partition systems into boundaries that protect high-value business rules from changes to unrelated parts of the system
  • Take advantage of the differences between architectures and deployment strategies such as micro-service, multi-process, and monolith
  • Create software system structures that minimize the manpower required to develop and maintain them
  • Build systems that endure long and chaotic life cycles 

 

Content

Note: The class will be held in english only. 

Starting with the bricks

  • The Goal of Architecture
  • Paradigms
  • Principles of Module Design
  • Component Coupling

Architecture

  • What is Architecture?
  • Independence and Decoupling
  • Boundaries
  • Boundary Anatomy
  • Policy and Level
  • Business Rules
  • Screaming Architecture
  • The Clean Architecture
  • Presenters and Humble Objects
  • Partial Boundaries
  • Layers and Boundaries
  • The Main Component
  • Services Great and Small
  • The Test Boundary

Details

  • The Database
  • The Web
  • Frameworks

Who should attend?

This course is for software developers who are experienced coders and are familiar with the concepts of software design, and will help them to organise and apply their current knowledge towards the creation of robust system architectures that endure through long life cycles.

 

Q & A

Q: Are there any exercices? Do we need to bring a computer?
A: No computer.  Exercises are on paper using UML.

Q: Will developers who only have some knowledge of Clean Code/TDD benefit from this class or do they need more experience (Design patterns, SOLID, etc.)?
A: The class is for all developers.  The course addresses SOLID in summary.  It does not talk about design patterns.

Q: Will you be talking about subjects larger than just code (infrastructure, network, technical tools, etc.) or other technical leadership subjects (how to coach developers, create more visual designs, etc.)?
A: The primary topic is the design of the component/service structure of larger systems.  Networks and databases are addressed.  Non-technical leadership issues are not.

You have other questions about this class? Don't be shy and drop us a line at formation@elapsetech.com