官术网_书友最值得收藏!

Software Design Patterns

In software development, a design pattern is a repeatable solution to a widespread problem, since it is ubiquitous to solve the same problems you have encountered before. There are two main advantages of design patterns. The first advantage is that they are proven solutions, and the second one is that they create a communication platform between developers. With these advantages, templates and specifications have been formalized over the years to create a knowledge and experience pool.


Design patterns are not finished designs that can be transformed directly into code – they are only best practices and set of approaches.

Software development is seen as a relatively young and evolving field of study; however, most of the problems solved in various circumstances are similar. For instance, it is common to create a single instance component in various software systems, such as payment systems, log managers, enterprise resource planning (ERP) systems, or online games. Therefore, making use of past collected knowledge helps development teams to advance rapidly.

Design patterns and corresponding business requirements could seem artificial and only software-related. However, both problems and solutions have roots in real life. For instance, the singleton pattern is proposed as a best practice for implementing a configuration manager. With the same approach in mind, the adapter pattern is proposed as a best practice to work with both versions of the APIs. As its name implies, it is a similar approach in real-life to using electrical adapters to work with the different plug and socket types in various countries. As these examples indicate, software design patterns and the ideas behind them all come from real-life experiences.

主站蜘蛛池模板: 冀州市| 商河县| 白山市| 东乌珠穆沁旗| 呼伦贝尔市| 高要市| 内丘县| 信丰县| 冷水江市| 安平县| 凤城市| 海安县| 邵武市| 浦北县| 泸西县| 古丈县| 资阳市| 当雄县| 陇川县| 克东县| 吴旗县| 石门县| 卢湾区| 交口县| 白朗县| 巩义市| 双城市| 克山县| 进贤县| 宣威市| 容城县| 建阳市| 临颍县| 丁青县| 寿阳县| 辽中县| 峨山| 会昌县| 肃北| 新密市| 康定县|