During software projects, software engineers face with challanges that are similar to each other. In order to overcome these challenges, certain solution templates can be applied.
Design Patterns can be thought as a kind of template for solutions. Same design pattern can be applied for the same set of problems.
In object oriented programming, design patterns shows relation between classes or objects. A software engineer finds the most suitable design pattern or patterns and applies them to a specific problem.
The Ibtech software team adopts usage of design patterns in software projects where it is suitable. The usage of design patterns speed up the software development process.
Design patterns provides more readible code for application achitects and develepers who are familiar with them. The design patterns also make it possible to understand the general architect of a software by just refering the name of the pattern(s) used.
Although design patterns are templates, their application on problems is not straightforward. The architect analyzes the challenge at hand and determines one or more candidate patterns. Through experience application architect chooses the most suitable pattern to apply.
Design patterns is grouped as creational, structural and behavioral patterns:
Another aspect of Ibtech development strategy is refactoring. During refactoring, we break the code into more logical pieces and apply design patterns where necessary.
In Ibtech, in order to assess software quality, certain software metrics are used. The set of metrics have been determined after a thorough research period and the most necessary ones have been selected. Every software component we develop should comply to these metrics.
By using design patterns, refactoring methodology and software metrics, the Ibtech software team make overall application easier to understand and maintain.
Doğu Gül, IT SD Applicaticon Architecture, Senior Designer