Counter

Microservices: Patterns and Practices eMag

While the underlying technology and patterns are certainly interesting, microservices have always been about helping development teams be more productive. Whether used as a technique for architects to manage complexity or to make small teams more independent and responsible for supporting the software they create, the human aspect of microservices cannot be ignored. Many of Read More…

April 1, 2019
Counter

Microservices Anti-Patterns

Microservices is a silver bullet, magic pill, instant fix, and can’t-go-wrong solution to all of software’s problems. In fact, as soon you implement even the basics of microservices all of your dreams come true; you will triple productivity, reach your ideal weight, land your dream job, win the lottery 10 times, and be able to Read More…

March 26, 2019
Counter

Clean Code

As eloquently noted by Robert Martin in his book “Clean Code,” the only valid measurement of code quality is the number of WTFs per minute as represented in the below diagram: “Are we debugging in a panic, poring over code that we thought worked? Are customers leaving in droves and managers breathing down our necks? Read More…

March 24, 2019
Articles

APM at a glance

You should hear about MRI; it’s an abbreviation for “Magnetic resonance imaging” according to Wikipedia’s definition “Magnetic resonance imaging” (MRI) is a medical imaging technique used in radiology to form pictures of the anatomy and the physiological processes of the body in both health and disease. MRI scanners use strong magnetic fields, magnetic field gradients, Read More…

March 20, 2019
Articles

The relationship between Modularity and Polymorphism.

Object-oriented Analysis and Design plus Object-oriented programming have been new approaches in the software development since 1967, during more than fifteen years, the foundation of this paradigm is so robust and reliable, so that makes this thinking framework as the most dominant problem-solving in software production. Thanks to all pioneers and influencers of this paradigm Read More…

March 18, 2019
Articles

Inheritance and its misunderstandings in the Object-oriented design

Recently I had a conversation with one of my students in the “Advanced Object-Oriented Design” course about why nowadays Functional programming paradigm is so interesting while for decades Object-oriented paradigm has been dominated paradigm. If you do some search on the web you find dozens of articles and debates about this topic, so, I don’t Read More…

March 18, 2019
Articles

Use cases are not just about requirements

At the biology science, stem cells are biological cells that can differentiate into other types of cells and can divide to produce more of the same kind of stem cells. They are found in multi-cellular organisms. Cells in the body have specific purposes, but stem cells are cells that do not yet have a particular Read More…

March 18, 2019
Articles

Vision Document, A Practical Approach!

We all know a Vision document is the constitution of the project; it is the most critical document in both agile and UP based software development methods. This document represents a bird’s eyes view of the project and its boundary, including problem statement, constraints in addition to the required services for addressing the problem. This Read More…

March 18, 2019
Articles

Design for simplicity not for complexity!

When I was a novice programmer, I was interested in intricate designs, I believed if there is not a dozen of “Interfaces” either “Abstract classes” the design is not mature, I believed there are always many changes out of the door waiting for tackle the project. The result was a super complex design which tried Read More…

March 18, 2019