logo

Quotes About Architecture

The primary purpose of architecture is to support the life cycle of the system. Good architecture makes the system easy to understand, easy to develop, easy to maintain, and easy to deploy.
~ Robert C. Martin
The source code of higher-level services must not contain any specific physical knowledge (e.g., a URI) of any lower-level service.
~ Robert C. Martin
Architecture should reveal operation. The architecture of the system should elevate the use cases, the features, and the required behaviors of the system to first-class entities that are visible landmarks for the developers. This simplifies the understanding of the system and, therefore, greatly aids in development and maintenance.
~ Robert C. Martin
Part of the art of developing a software architecture is carefully separating those policies from one another, and regrouping them based on the ways that they change.
~ Robert C. Martin
software has two types of value: the value of its behavior and the value of its structure.
~ Robert C. Martin
Architects separate functionality based on how, why, and when it changes, and then organize that separated functionality into a hierarchy of components.
~ Robert C. Martin
THE ACYCLIC DEPENDENCIES PRINCIPLE Allow no cycles in the component dependency graph.
~ Robert C. Martin
The goal of the architect is to create a shape for the system that recognizes policy as the most essential element of the system while making the details irrelevant to that policy. This allows decisions about those details to be delayed and deferred.
~ Robert C. Martin
The OCP is one of the driving forces behind the architecture of systems. The goal is to make the system easy to extend without incurring a high impact of change. This goal is accomplished by partitioning the system into components, and arranging those components into a dependency hierarchy that protects higher-level components from changes in lower-level components.
~ Robert C. Martin
O objetivo da arquitetura de software é minimizar os recursos humanos necessários para construir e manter um determinado sistema.
~ Robert C. Martin
THE STABLE DEPENDENCIES PRINCIPLE Depend in the direction of stability.
~ Robert C. Martin
Jacobson makes the point that software architectures are structures that support the use cases of the system. Just as the plans for a house or a library scream about the use cases of those buildings, so should the architecture of a software application scream about the use cases of the application.
~ Robert C. Martin
One sure way to make a software component difficult to change, is to make lots of other software components depend on it.
~ Robert C. Martin
A good architecture makes it unnecessary to decide on Rails, or Spring, or Hibernate, or Tomcat, or MySQL, until much later in the project. A good architecture makes it easy to change your mind about those decisions, too. A good architecture emphasizes the use cases and decouples them from peripheral concerns
~ Robert C. Martin
The word "architecture" is often used in the context of something at a high level that is divorced from the lower-level details, whereas "design" more often seems to imply structures and decisions at a lower level. But this usage is nonsensical when you look at what a real architect does.
~ Robert C. Martin
The web is a delivery mechanism—an IO device—and your application architecture should treat it as such. The fact that your application is delivered over the web is a detail and should not dominate your system structure. Indeed, the decision that your application will be delivered over the web is one that you should defer. Your system architecture should be as ignorant as possible about how it will be delivered.
~ Robert C. Martin
a good architecture must support: • The use cases and operation of the system. • The maintenance of the system. • The development of the system. • The deployment of the system.
~ Robert C. Martin
Think about how you can preserve the use-case emphasis of your architecture. Develop a strategy that prevents the framework from taking over that architecture.
~ Robert C. Martin
The most important thing a good architecture can do to support behavior is to clarify and expose that behavior so that the intent of the system is visible at the architectural level.
~ Robert C. Martin
A shopping cart application with a good architecture will look like a shopping cart application. The use cases of that system will be plainly visible within the structure of that system. Developers will not have to hunt for behaviors, because those behaviors will be first-class elements visible at the top level of the system.
~ Robert C. Martin
So what does the architecture of your application scream? When you look at the top-level directory structure, and the source files in the highest-level package, do they scream "Health Care System," or "Accounting System," or "Inventory Management System"? Or do they scream "Rails," or "Spring/Hibernate," or "ASP"?
~ Robert C. Martin
To build a system with a design and an architecture that minimize effort and maximize productivity, you need to know which attributes of system architecture lead to that end.
~ Robert C. Martin
The first concern of the architect is to make sure that the house is usable — not to ensure that the house is made of bricks.
~ Robert C. Martin
The dilemma for software developers is that business managers are not equipped to evaluate the importance of architecture. That's what software developers were hired to do. Therefore it is the responsibility of the software development team to assert the importance of architecture over the urgency of features.
~ Robert C. Martin