Introduction
Design patterns, as the name suggest is a set of repeating rules that may be used to tackle a common and repeating problem.Softwares comprise a set of rules that, in most cases, boil down to a common ground. There are a number of architectural design patterns that solve the problem of root design. Software engineers have a knowledge of these patterns and it is this idea that is used to develop large-scale systems (Monroe, et al., 1997). However, these design patterns have been discovered to have flaws which need to be addressed for a proper software development platform.
Criticism and solutions
To begin with, there is a repetition of the same idea, albeit to a different program. In this, the programmer follows through the design architecture and only alters a few features. Altering some of the features of an original idea does not effectively solve the problem that the resulting software is to accomplish. As a matter of fact, the software will solve the problem but in a modified form. In a nutshell, the functionality of this new program or software will be below required standards.
In solving this first program, it is important for software engineers to reconfigure or reconstruct the architectural design over and over to meet the specific needs of the new program. The reconfiguration will ensure that the effectiveness of the new program is that required. As a matter of fact, some people have described the most effective software as those that are designed using smaller features of different architectural patterns (Monroe, et al., 1997).
The problem of system failure, as well as software safety, is mainly associated with design patterns. In this, the design patterns may not be effectively redesigned and as such, the real-time safety of the aforementioned is not considered. This safety system is very important because it prevents hazardous failures (Vinisha, n.d.).However, it is also important to consider that various design patterns have been characterized.
The solution to such a problem is the design of an effective design pattern that considers the safety parameter at the basic foundation. The foundation may be the architectural level (Vinisha, n.d.).Therefore, these design patterns should continually be reconfigured to place the safety parameter at the core.
The last problem is mainly associated with the fact that the patterns are overused. Developers tend to overuse programs making them obsolete easily. The resulting programs may be rendered out of date easily. The solution to this is to continually encourage developers to move into higher development platforms.
Pseudocode
Program: communication between two people
Receive the message (input)
Encode the message (process)
Transfer the message through channel (process)
Decode the message (process)
Deliver the message (output)
 
 
References
Monroe, R. T., kompanek, A., Melton, R. & Garlan, D., 1997. Architectural styles, design patterns and objects. s.l.:s.n.
Vinisha, F. A., n.d. Study of architectural design patterns in concurrence with analysis of design patterns in safety-critical systems. Advances in computer science, engineering, and applications, Volume 166, pp. 393-402.