Home / Series / Clean Code / Aired Order / Season 1 / Episode 8
Home / Series / Clean Code / DVD Order / Season 1 / Episode 7
Home / Series / Clean Code / Absolute Order / Season 1 / Episode 8

Architecture, Use Cases, and High Level Design

This episode destroys the common myths about software architecture, and reveals what software architecture is really all about. Software architecture is not about databases, web servers, dependency injection, Rails, Hibernate, JSF, Struts, Spring, or any other framework or tool. Architecture is about intent. When you see a web-based accounting system, the architecture of that system should scream accounting at you. The fact that it's a web based system should be unnoticeable. After all, the web is just a delivery mechanism; and we don't want our system architecture polluted with delivery mechanisms, databases, and other low level tools and concerns. In this episode, Uncle Bob re-introduces the concepts first espoused by Ivar Jacobson, in his epic book: "Object-Oriented Software Engineering". Uncle Bob describes what use cases are, and how to make sure they are delivery agnostic. He shows you how to partition the system with use cases as the central organizing principle, and the primary abstraction. He also demonstrates how to isolate the system architecture from the rest of the system. Uncle Bob illustrates how to use Jacobson's three primary architectural classes: Entities, Interactors, and Boundaries. He describes how this triplet helps to decouple the system architecture from the delivery mechanism, leaving the web to dangle off the side of the architecture like an appendix. Uncle Bob goes on to show how Model-View-Controller and Model-View-Presenter are used on the delivery side of the system. Then Uncle Bob hammers the point home with a case-study taken from his classic book: Agile Software Development: Principles, Patterns, and Practices. After an informative briefing from the stakeholder, he performs a use-case analysis, and a high level object-oriented design to create the architectural superstructure on which the rest of the application will be built. Finally, Uncle Bob tells us how to avoid a Big Ball of Mud, and tells us who the architects

English
  • Originally Aired October 20, 2011
  • Runtime 60 minutes
  • Notes Is a season finale
  • Created October 8, 2019 by
    Administrator admin
  • Modified October 8, 2019 by
    Administrator admin
Name Type Role
Robert C. Martin Writer
Robert C. Martin Director