Monday, 14 December 2020

Software component design


Software component design, design models are an important branch of software engineering science, despite some criticism of it.


Design models are aimed at the frequent use of solutions developed for problems that are themselves repetitive or frequently present in the software design process.


This theory applies not only to software design, but to many other sciences such as building engineering, electronics engineering, and even cooking.


Software component design

One of the common mistakes is considering design models as complete or ready-to-use solutions directly, as they become nothing but a model, as its name indicates, that needs to be adapted and defined more in order to face a specific problem.


Most of the design paradigms are based on object-oriented programming. Therefore, we find that it sets a concept based on the interactions and possible relationships between the various constituents of the program.


The idea behind programming models

To bring the idea closer to the mind of the reader, we have to relate the topic to a vivid example from everyday life. Imagine that you are driving your car in a secluded place for the first time and suddenly you lose control of the car due to a tire malfunction.


For the first time in your life, you find that you need to change a tire even though you have not done so before. You will start thinking of all the solutions available to you.


Usually, you would see people lifting the car and doing the same thing, then you need to disconnect the screws because they are tight too tight and I cannot control the wheel because it is in the air, and whenever I try to turn the wheel, then I have to lower the car first and separate the bolts and the car on the ground ... And so on.


Your learning from this lesson makes the steps to fix the wheel faster, and computer programming is far from this example. We always face programming problems that we have previously presented to them repeatedly, so we try to apply previous solutions to them and re-use these methods while re-modifying them in line with the current problem.


Main components of design templates

Christopher Alexander wrote on design templates: "Each template describes a recurring problem, introducing an idea of ​​a treatment or an algorithm that can be applied millions of times without finding perfect similarities between the solutions."


There are four main components of the design templates:

Name: The name summarizes the problem, treatment, and consequences of implementing a template, but sometimes finding a suitable name can be more difficult than finding a solution to the problem. To approximate the idea, remember when you were a beginner in programming and started making modifications to your colleague's program, then you were surprised by the variable "x" or "y" in front of you,

Problem: A description of the problem and when to apply the template.

The solution: Explain what elements are needed for a solution and how they relate to and collaborate. The solution does not provide a detailed explanation of the solution to the problem but rather gives an abstract solution or an initial idea of ​​the solution.

Consequences and consequences: The consequence when applying the template is the subtle sound of the ingredients. It examines, in general, the consumption of components and is used to correct the template or design model.

No comments:

Post a comment


Contact Us


Email *

Message *