Entradas

Mostrando entradas de abril, 2020

The 4+1 View Model

Today I will talk about the resources related to The 4+1 View Model, two Youtube videos and one article named The Elephant and the Blind Programmers by Grady Booch. These videos and article speak briefly about the 4 + 1 view model, this small model consists of four sections and an additional section that is part +1, which allows us to make a better software architecture. Let me explain these views: - Logical view: This view tells us what kind of objects we are going to build, how they communicate and what kind of data they are. - Development view: It is useful for developers to always know which part is related to what else and how things are organized during development. - Process view: describes the concurrency and synchronized aspects in the software and the process of using the software or doing things. - Physical view: It tells us how the software and the hardware are related. - Use cases or scenarios (+1): They are the explanation on how the system is expected to behave, w

Understanding the SOLID Principles

Today I will talk about the Edward Guiness’ book section titled “Understanding the SOLID Principles”. First of all Solid is an acronym that stands for five principles of object-oriented programming and design. These principles help to avoid dependencies between the classes. S-Single Responsibility Principle O-Open/Closed Principle L-Liskov Substitution Principle I- Interface Segregation Principle D-Dependency Inversion Principle Talking a bit more of these principles we are going to explain each one: Single Responsibility Principle: This principle states that one class should only have one responsibility so the changes in that class do not end up affecting unrelated critical features on the system. This happens from a single action to a set of processes. You can take a view that a single responsibility refers to a group of related business processes. The stamina and tolerance determine how far you go Open/closed Principle: This principle talks about that classes should be op

Microservices

Today I will talk about the article “Microservices” by James Lewis and Martin Fowler (March, 2014). This term is used to refer to a way of designing software in small independent services that will work together. This is used mainly in business applications and has some peculiar characteristics.     In other words Microservice Architecture means, a microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with each other. These services are built around business capabilities and are independently deployable.     Microservices have a great advantage over a monolithic application, because this style does not put all the functionality into a single process, and  if you want to make a change you do not need to rebuild the application.     Of the most interesting things that this design pattern has is that each microservice can be seen as a black box, and thus remove a bit of the comp