GitFlow: Branching strategy for Git

  Today, I am publishing from a very old document (I created and published in 2017) on Branching strategy for Git (can be applied on other as well). This branching model is also known as GitFlow and is very powerful for scalability needs. 1. Source Code Configuration Management GIT is a distributed version control system that gives team members a wide flexibility in how they use version control to share and manage code. However, we need a balance between this flexibility and the need to collaborate and share code in a consistent manner. Team members publish, share, review, and iterate

Continue reading

Microservices – Panacea or just another pattern?

Microservices is the keyword these days. And it is solving many problems, helping applications become agile and the support team getting better sleep. But, as it is catching the fire, it also raised eyebrows – is it necessary to have microservices in my application? The other day, I faced this question from such an angle. And, here I want to express my thoughts and experiences with microservices. First, let us accept that Microservices is just another design pattern. Each design pattern has a scope and is actually a path or approach to the solution to a design problem. So, microservices

Continue reading

Microsoft Patterns & Practices : Guidance Explorer

Wow! Just another goodie!! Look at this. Now a guidance explorer is available from the Patterns & Practices team at codeplex.com for all the people who want to better their performance. Congratulations to the team for the good work. The guidance explorer let you explore the guidances mentioned in various patterns and practices guidelines. No more browsing through numerous web pages to find out the guidances. A neat tool with an file explorer style tree to keep the points tidy. Just loved it. I shall request you all to get it installed and most importantly READ. Have it in the

Continue reading

Architectural patterns

Architectural patterns are meant for providing solutions to architectural problems in software engineering. It fundamentally provides a readymade structure of a solution that is targeted at a particular established proble. It describes a structural organization schema for a solution consisting of subsystems and underlines their responsibilities and interrelations. However there is significant difference between the architectural pattern and the architecture itself. An architectural pattern is a concept that captures essential elements of a software architecture. The pattern is a guideline to implement a particular architecture. So following a particular architectural pattern, the architects may come out with several different and

Continue reading

MVC : Model View Controller

Model View Controller is an Architectural pattern. View: The user interface (GUI) or the software which produces User Interface (ASP.Net Web forms ) which enables display of  information about the model to the user. Any object that needs information about the model needs to be a registered view with the model. Example – Boundary Class   Controller: The user interface presented to the user to manipulate the application. User Driven Events in GUI. Example – Control Class   Model: The core of the application. This maintains the state and data that the application represents. When significant changes occur in the

Continue reading