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

Design patterns and principles

Software development is a process that is not only about writing code, regardless of whether you are working in a large team or on a one-person project. The way an application is structured has a huge impact on how successful a software application is.

When we are talking about a successful software application, we are not only discussing how the application does what it's supposed to do but also how much effort we put into developing it, and if it's easy to test and maintain. If this is not done in a correct manner, the skyrocketing development cost will result in an application that nobody wants.

Software applications are created to meet needs, which are constantly changing and evolving. A successful application should also provide an easy way through which it can be extended to meet the continuously changing expectations.

Luckily, we are not the first to encounter these problems. Some of the problems have already been faced and handled. These common problems can be avoided or solved if a set of object-oriented design principles and patterns are applied while designing and developing software.

The object-oriented design principles are also called SOLID. These principles are a set of rules that can be applied when designing and developing software, in order to create programs that are easy to maintain and develop. They were first introduced by Robert C. Martin, and they are part of the agile software-development process. The SOLID principles include the single responsibility principle, open/closed principle, Liskov Substitution Principle, Interface Segregation Principle, and dependency inversion principle.

In addition to the design principles, there are object-oriented design patterns. Design patterns are general reusable solutions that can be applied to commonly occurring problems. Following Christopher Alexander's concept, design patterns were first applied to programming by Kent Beck and Ward Cunningham, and they were popularized by the so-called Gang Of Four (GOF) book in 1994. In the following section, we will present the SOLID design principles, which will be followed by the design patterns in the next chapters.

主站蜘蛛池模板: 华蓥市| 泗洪县| 全南县| 乐安县| 合山市| 霞浦县| 凌源市| 新巴尔虎右旗| 麻阳| 贡嘎县| 临夏市| 拜城县| 禹州市| 涟水县| 孟连| 左贡县| 登封市| 红桥区| 区。| 民权县| 花莲市| 张家界市| 泗阳县| 隆回县| 龙州县| 拉萨市| 平舆县| 河西区| 卢龙县| 葫芦岛市| 周宁县| 青阳县| 天长市| 铜陵市| 峨眉山市| 承德市| 莱阳市| 新密市| 荆门市| 秀山| 祁连县|