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

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.

主站蜘蛛池模板: 叶城县| 安塞县| 大足县| 曲麻莱县| 潞城市| 诏安县| 清水河县| 岚皋县| 灵山县| 兴宁市| 吉首市| 东乌珠穆沁旗| 中牟县| 南通市| 河北区| 仁怀市| 怀宁县| 博白县| 都江堰市| 金坛市| 武城县| 莲花县| 惠州市| 郸城县| 镇坪县| 宁陕县| 自贡市| 吴旗县| 工布江达县| 杭锦后旗| 济阳县| 灵宝市| 仁怀市| 京山县| 金门县| 凉城县| 千阳县| 沙洋县| 江阴市| 神木县| 三明市|