成为一名资深架构师首先要懂设计模式,在懂之前,要清楚设计原则,原来我就吃过这个亏,很久以前有人问我设计原则,我是一头茫然,不是只有设计模式吗?且不知设计原则就像是写书法一样,楷体就是方正,竖道有垂露等,隶书横有蚕头燕尾等。

这些“秩序”遵循SOLID architecture principles。这组面向对象的设计原则,通过实践总结为

1),SRP(Single Responsibility Principle):单一责任原则;

A class should take care of only one responsibility.单个类有且仅有一个职能。

2),OCP(Open Closed Principle):开放封闭原则;

Extension should be preferred over modification.对扩展是开放的,对修改是封装的。

3),LSP(Liskov Substitution Principle):里氏替换原则;

objects seamlessly(无缝地) during runtime polymorphism(多态,多态性).子类和父类有相同的行为和状态。

4),ISP(Interface Segregation Principle):接口分离原则;

Client should not be  forced to use a interface if it does not need it.接口分离规则旨在使用多个特定功能

的接口来避开通用接口造成的富余化。

5),DIP(Dependency Inversion Principle): 依赖倒置原则;

High level modules should not depend on low level modules but should depend on abstraction.容器是规则,对象只关心自己完成的部分。

最新文章

  1. vmware 三种网络模式
  2. 理解soft-clipped reads
  3. androidstudio 之 svn配置 汇总
  4. SQL Server常用命令
  5. [LeetCode] Pow(x, n) 二分搜索
  6. SqlParameter[] 添加
  7. 使用Zend OpCache 提高 PHP 5.5+ 性能
  8. 数据库(批处理, 事务,CachedRawSetImpl类
  9. Effective Java2读书笔记-对于所有对象都通用的方法(三)
  10. css3选择器的比较(三) -- 元素选择器 (+, ~)
  11. springMVC 使用jstl
  12. 微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo
  13. 下载python的Crypto库出现的问题的解决:ModuleNotFoundError: No module named 'Crypto'
  14. python的for循环、while循环
  15. [CocoaPods]Podfile文件
  16. Codeforces Round #510 (Div. 2) D. Petya and Array(离散化+反向树状数组)
  17. npm安装时一些错误
  18. logstash marking url as dead 问题解决
  19. C++课程小结 继承与派生
  20. 【2017-01-08】QTimer与QThread的调度时间精度

热门文章

  1. DIY客户端框架
  2. WC 个人项目 ( node.js 实现 )
  3. BayaiM__MySQL 常用函数
  4. MySQL数据库无法使用+号连接字符串的处理方法
  5. [日常] lscpu查看cpu的详细信息
  6. 2.Python网络编程_TCP(简略版)
  7. unittest单元测试,基于java的junit测试框架
  8. pthread_create线程终止问题
  9. 高频Python面试题分享
  10. fiddler面试题