Entradas

Mostrando entradas de septiembre, 2018

Understanding the SOLID principles

Imagen
In this post, I will discuss the book section "Understanding the SOLID principles" written by Edward Guiness. SOLID is an acronym that stands for five widely accepted principles of object-oriented programming and design. It is important to know and understand clearly these principles: S ingle Responsibility Principle This principle tells us, that a class should have exactly one responsibility and exactly one reason that cause it to be changed. As I can see, this principle is very important in the design phase. We must remember that we are searching for high cohesion and low coupling. O pen/Closed Principle This principle states that a class should be open for extension but closed for modification. When we make a modification in the base class, we can break the behavior of child classes, this principle should be applied in the areas that change most likely.  L iskov Substitution Principle This principle intends to keep that happy working relationship between cl

Software Craftsmanship

Imagen
I n this post, I will discuss the podcast: "Software Craftsmanship", with Bob Martin (Uncle Bob) produced by Software Engineering Radio in 2009. This podcast is about agile software development and software craftsmanship. This podcast reminded me of two past posts on this blog,  one called Is Design Dead?  and the other called Who needs an architect? In which the role of the software architect is largely discussed, and also agile design and methods. The first idea that I think it is important to mention and that I also support is that  Uncle Bob  thinks that software architects should not stop programming, because the separation of the leaders and the developers, concludes in bad decisions that can complicate the projects, it is important that they keep their fingers on the keyboard, in this way they understand better the problems that arise and can better lead a team and carry out more complex designs. Robert explains in the podcast what is the software Craftmans

WarGames

Imagen
In this post, I will discuss the movie that we saw in class: "WarGames" directed by John Badham in 1983.  I'm really enjoying reading Ready Player One, the novel has many references, some of them are really important to the plot, one of them is the WarGames movie. When I do not recognize any of the references mentioned in the book, I rush to Google it, that happened with WarGames, it aroused my interest and I planned to see it eventually and even more after reading that chapter where interpreting the movie is the challenge to pass the first gate. I am happy now that I have seen it, the production of the film impressed me, the plot of the story is also very good.  The film tells the story of David Lightman, a brilliant boy passionate about computers, a hacker, who accidentally and curiously discovers a system that catches his attention and that eventually manages to access it through a back door. David begins to play, something he believes is a game, but actuall

Is Design Dead?

Imagen
In this post, I will discuss the article: "Is Design Dead?", written by Martin Fowler. In the last entries, we have discussed how important is the design and adoption of techniques and patterns for software development. It seems that what will be discussed in this post will be a bit different. There are two design styles, the most common (and disastrous) is E volutionary Design , is the design of the system grows as the system is implemented (code and fix), this style makes it difficult to change the system.  On the other hand, we have the Planned Design , here the designers don't need to write code because they aren't building the software, they are designing it, in this way, they avoid entropy by making decisions and carrying out the development of the software. Although the second style is much better, it still has faults, not designing and coding at the same time, it can introduce complex problems in the programming stage. The other fault, which I fou