Are Patterns Useful In Software Development
Refined Definition : A design pattern describes a family of solutions to a software design problem .It consists of one or several software design elements such as modules ,interfaces ,classes ,objects ,methods ,functions ,threads relationships among the elements and a behavioural description .
Patterns are useful in software development (SD) as they act as templates; they give an outline of solutions on how to solve a recurring problem in a particular context. The major reason of patterns being useful in (SD) would be their reusable characteristic .Patterns are reusable problem solving techniques which have been well tried ,tested and documented as working solutions .Patterns can be used to solve similar problems when they arise in various software development projects.
In (SD) time management and the effort input are critical elements which need to be monitored to be able to produce software solutions of high quality and on time .As patterns are reusable time and effort are saved and minimised respectively , when developing software the use of sample codes and code snippets help reduce the time spent by developers writing code and debugging it .The testing of the patterns and the documentation will result in developers having reference material of how to apply the patterns when the need arises.
The effort needed in developing the software could be an increase in the number of developers required in an effort to complete the work on time , the use of patterns will reduce the number of developers needed for a particular task as most tasks are done and documented .
The use of patterns in (SD) has benefits to both experienced programmers and novices. Patterns are named and organised under 3 different categories in the pattern catalogue, this will facilitate ease of communication between programmers as they use standard names in the programming field .Programmers are able to understand other developers incomplete work that needs finishing by reading through and identifying patterns being used .The use of pattern names is an advantage to novice programmers as they enable them to learn, relate and follow through a program with ease.
The use of patterns facilitates the development of flexible and easy to maintain software. As patterns also support modularity changes made in module (A) will not affect module (B) hence changes can be done continuously until the software is complete. Flexibility of the software will also determine the ease of maintenance and costs incurred, if the software is flexible and changes can be done before implementation costs of maintenance will be less. The use of sample codes will also reduce the complexity of the work improve quality and overall performance .
Concluding on the usefulness of patterns not all patterns efficiently address their target problems some situations may require more than one pattern to provide the best solution to a problem. (This is illustrated in the example of building a porch it involves several different patterns hence the same can be concluded for the patterns when developing software).
Advantages of Patterns in Point Form
- Reusable solutions that can be used to solve similar problems over and over again.
- Time and effort saving
- Work as templates and guides
- Well tried, tested and documented for ease reference
- Novice programmers and Programmers are able to learn and follow through a program by using pattern names.
- Programmers are able to communicate their work through use of pattern names
- Helps to develop flexible software and lower maintenance costs
- Reduces complexity of work
- Can be used with other patterns to solve different problems
0 Comments:
Post a Comment
<< Home