1. 设计模式的六大基本原则

1.0 总结:

因为抽象灵活性好,适应性广,只要抽象的合理,可以基本保持软件架构的稳定。而软件中易变的细节,我们用从抽象派生的实现类来进行扩展,当软件需要发生变化时,我们只需要根据需求重新派生一个实现类来扩展就可以了。当然前提是我们的抽象要合理,要对需求的变更有前瞻性和预见性才行。

用抽象构建框架,用实现扩展细节的注意事项而已:单一职责原则告诉我们实现类要职责单一;里氏替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合。而开闭原则是总纲,他告诉我们要对扩展开放,对修改关闭

1.1 单一职责原则:

定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。

1.2 里氏替换原则:

定义:所有引用基类的地方必须能透明地使用其子类的对象。

1.3 依赖倒置原则:

定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。

1.4 接口隔离原则:

定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。

1.5 迪米特法则:

定义:一个对象应该对其他对象保持最少的了解。尽量降低类与类之间的耦合。

1.6 开闭原则:

这个原则其实就是对上面五个原则的一个总结,只要遵守上面五个,这个自然就形成了

http://www.uml.org.cn/sjms/201211023.asp

2. 设计模式

MVP模式

T-MVP

单例模式

工厂模式

参考:http://blog.csdn.net/jason0539/article/details/44956775

最新文章

  1. 深入学习jQuery选择器系列第五篇——过滤选择器之内容选择器
  2. StackExchange.Redis 使用-配置
  3. nginx 支持laravel 5.3配置
  4. Junit基础整理
  5. Linux运维操作
  6. 【leetcode❤python】242. Valid Anagram
  7. VS2010安装中遇到的错误
  8. maven使用之烦人的.lastUpdated文件
  9. No row with the given identifier exists[ArtProject.Domains.Users#2]
  10. shell手册--笨鸟杰作
  11. C++ 随机生成一个(0,1)之间的小数
  12. Delphi json解析相关
  13. Redis安装,主从,主备切换
  14. css中绝对定位和相对定位的区别
  15. Linux常用性能工具功能、用法及原理(一)
  16. jQuery时间格式转换
  17. openstack常用的一些命令
  18. idea配置SOLServer错误解决记录
  19. CLOB 和 BLOB
  20. OOW 2015 MYSQL

热门文章

  1. 深入理解Aspnet Core之Identity(3)
  2. ACTGame项目
  3. 第三章 CopyOnWriteArrayList源码解析
  4. s11 day 102 python Linux环境安装 与路飞项目 微信平台接口
  5. windows 安装nexus3
  6. webpack快速入门——CSS进阶:SASS文件的打包和分离
  7. Tomcat几种出错方法
  8. request.getParameter("name")获取参数为null和空字符串的区别
  9. 简单HOG+SVM mnist手写数字分类
  10. PostgreSQL 数据库错误代码解释