SOLID Principles


Reference

1. Single Responsibility

http://en.wikipedia.org/wiki/Single_responsibility_principle (ToRead)

2. Open/Closed

http://en.wikipedia.org/wiki/Open/closed_principle

3. Liskov Substitution

http://en.wikipedia.org/wiki/Liskov_substitution_principle  (ToRead)

4. Interface Segregation

http://en.wikipedia.org/wiki/Interface_segregation_principle

5. Dependency Inversion

http://en.wikipedia.org/wiki/Dependency_inversion_principle

6. Solid Principle In Detail (AAAA+) (To Read)

https://www.codeproject.com/articles/1009577/solid-principle-in-detail

7. S.O.L.I.D: The First 5 Principles of Object Oriented Design

简单介绍S.O.L.I.D

8. The Principles of OOD (AAAA+) (To Read)

http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod

9. S is for Single Responsibility Principle

https://realm.io/news/donn-felker-solid-part-1/

10. Avoiding Interface Pollution with the Interface Segregation Principle (AAAA+)

The Benefits of Role Interfaces in SOLID Code

https://medium.com/@severinperez/avoiding-interface-pollution-with-the-interface-segregation-principle-5d3859c21013

11. Understanding SOLID Principles: Interface Segregation Principle (AAAA+)

https://codeburst.io/understanding-solid-principles-interface-segregation-principle-b2d57026cf6c

Understanding SOLID Principles: Open Closed Principle

https://codeburst.io/understanding-solid-principles-open-closed-principle-e2b588b6491f

12. Interface Segregation Principle (ISP)

https://www.oodesign.com/interface-segregation-principle.html

13. Interface Segregation Principle

and how to interpret it

https://hackernoon.com/interface-segregation-principle-bdf3f94f1d11

14. The Open-Closed Principle

Extending Your Entities Correctly

https://medium.com/swift2go/the-open-closed-principle-extending-your-entities-correctly-edf9d3898826


Others

Plug-in

http://en.wikipedia.org/wiki/Plug-in_(computing)

Architecture.SOLID-Principles的更多相关文章

  1. The SOLID principles(未完,待续)

    The SOLID principles The SOLID principles of Object Oriented Design include these five principles: S ...

  2. [中英对照]Introduction to DPDK: Architecture and Principles | DPDK概论: 体系结构与实现原理

    [中英对照]Introduction to DPDK: Architecture and Principles | DPDK概论: 体系结构与实现原理   Introduction to DPDK: ...

  3. SOLID Principles

    Intention: more understandable, easier to maintain and easier to extend.(通过良好的设计使得代码easy and simple, ...

  4. 浅谈 SOLID 原则的具体使用

    SOLID 是面向对象设计5大重要原则的首字母缩写,当我们设计类和模块时,遵守 SOLID 原则可以让软件更加健壮和稳定.那么,什么是 SOLID 原则呢?本篇文章我将谈谈 SOLID 原则在软件开发 ...

  5. 系统架构的定义(与系统)-architecture

    architecture⟨system⟩ fundamental concepts or properties of a system in its environment embodied in i ...

  6. What is Systems Architecture ?

    What is Systems Architecture ?   Systems Architecture is a generic discipline to handle objects (exi ...

  7. [译]开发者须知的SOLID原则

    原文:SOLID Principles every Developer Should Know – Bits and Pieces SOLID Principles every devloper sh ...

  8. 2.1 OOP & SOLID

    OOP & SOLID Implementing DDD highly relies on the Object Oriented Programming (OOP) and SOLID pr ...

  9. angularJS 系列(三)- 自定义 Service

    参考:http://viralpatel.net/blogs/angularjs-service-factory-tutorial/ https://www.pluralsight.com/blog/ ...

随机推荐

  1. jenkins 自动触发

    在gitlab上配置连接jenkins ,将Jenkins的Secret token 与Build URL 复制到gitlab中 在settings标签下面,找到OutBound Request,勾选 ...

  2. 网络传输中利用fastjson将复杂嵌套数据类型Json格式转换(GeoJsonPolygon)

    如果一个对象太复杂了,那么在网络传输键的JSON格式数据转换容易出问题. 比如下面一个类Area.java import lombok.AllArgsConstructor; import lombo ...

  3. js对数组对象的操作以及方法的使用

    js对数组对象的操作以及方法的使用 如何声明创建一个数组对象: var arr = new Array(); 或者 var arr = []; 如何移除所有数组中数据? arrayJson.dataL ...

  4. JS----贪吃蛇游戏

    在网上找到的几种例子 <!DOCTYPE html> <html > <head> <meta http-equiv="Content-Type&q ...

  5. webstocket 聊天

    /** * 初始化socket **/ function initSocket(index_host){//端口号 if( !window.WebSocket ){ console.log(" ...

  6. R各种数据类型的转换

    1.列表转化为数据框 df <- data.frame(matrix(unlist(列表), nrow=132, byrow=T),stringsAsFactors=FALSE)

  7. Spring设置动态定时任务

    1.在Spring中经常会用到定时任务,一般会在业务方法上使用@Schedule(cron="定时执行规则"),无法实现从前台动态设置定时任务. 在java中固定频率的任务使用Sc ...

  8. c# 项目的导入

    1.打开 2.手动添加现有项目,对照后找到未添加的空间,然后打开底层  选择 “#”文件打开即可 3.每个空间分别添加隐藏项  注意 bin与obj不需要添加 4.添加引用 5.可能需要删除   li ...

  9. python网络编程之进程论

    标签(空格分隔): 进程 什么是进程: 进程:正在进行的一个过程或者说一个任务.而负责执行任务则是cpu; 进程与程序的区别: 程序仅仅只是一堆代码而已,而进程指的是程序的运行过程 注意: 需要强调的 ...

  10. burpsuite的使用(二)

    爬网 为了爬网更加顺畅,先关掉截断功能 先进行手动爬网 然后进到目标页面需要点的地方和输入的地方去操作一下,在spider下就能看到爬网的记录 自动爬网 当你爬网时需要登录身份验证时,提示输入,也可以 ...