Exploration of Architectural Styles and Principles

Rafael A. George Duval
2 min readSep 6, 2023

--

Business rules are procedures or rules that contribute to cost-saving or revenue generation for a business. They describe the operations, definitions, and constraints that apply to an organization. Business rules drive business value, and technology is a means to achieve it. The structure of software can impact its adaptability and evolution, even in the short term. Most frameworks follow specific conventions that ease day-to-day work with the tool.

It is common for people to assume that the conventions provided by a framework are complex rules to be followed. However, rushing into a decision when using a new framework may increase the cost of future features. Framework authors create a generalized solution for a specific problem, with the primary goal of helping themselves first and foremost.

In software development, the concept of separation of concerns is crucial in determining what to build. Architectural style is to architecture what a design pattern is to a specific design. When employing Domain-Driven Design (DDD), the aim is to create a Bounded Context with a complete and well-defined domain model. In DDD, the code is the design, and the design is the code. At the component level, this translates to the Common Closure Principle.

The Open-Closed Principle (OCP), introduced by Bertrand Meyer in the 1980s, is one of the guiding principles in system architecture. It advises that a module should be responsible for one and only one actor, while the Single Responsibility Principle (SRP) recommends separating the code that different actors depend on. The behavior of a software artifact should be extendable without requiring changes to that artifact. A well-designed software architecture minimizes the amount of code that needs improvement.

[¹]: Implementing Domain-Driven Design

--

--

Rafael A. George Duval
Rafael A. George Duval

Written by Rafael A. George Duval

✍🏼 Building a Solo Digital Media Company 🧪 Snippets of Text [https://snippetsoftext.substack.com/subscribe]

No responses yet