针对接口编程而不是实现

优先使用对象组合,而不是类继承

封装变化点

使用重构到模式,而不是直接使用设计模式

设计模式是好的面向对象设计,所以只有掌握面向对象才能更好的理解和应用设计模式

单一职责原则:一个类应该只有一个引起它变化的原因

开发关闭原则:对扩展开发,修改关闭

Listov替换原则:子类应该能够替换父类

依赖倒置原则:高层模块不应依赖于底层模块,他们都应依赖于抽象;抽象不依赖于细节,细节依赖于抽象;

接口隔离原则:不应该强迫客户依赖于他们不用的方法

最少知识原则

• 多线程单例实现

• 将一个实例扩展到n个实例,例如对象池的实现。

• 将new 构造器的调用转移到其他类中,例如多个

类协同工作环境中,某个局部环境只需要拥有某

个类的一个实例。

• 理解和扩展Singleton模式的核心是“如何控制用户

使用new对一个类的实例构造器的任意调用”。

Dot net framework 的底层保证每个类型在内存中只有一份,x.GetType()就是应用单例模式

中介者模式(Meidator)类似于聊天系统的服务器的角色

转载于:https://www.cnblogs.com/end/archive/2010/10/02/1841286.html

Some Notes About Design Pattern相关推荐

  1. (原創) 我的Design Pattern之旅[3]:使用template改進Strategy Pattern (OO) (Design Pattern) (C/C++) (template)...

    在strategy pattern中,為了讓各strategy能方便存取原來物件的所有public member function,我們常用*this將整個物件傳給各strategy,這樣的設計並沒有 ...

  2. 5 Best User Interface Design Pattern Libraries

    为什么80%的码农都做不了架构师?>>>    Elements of Design Pattern Tap Patternry UI Patterns http://uxmovem ...

  3. 说说设计模式~大话目录(Design Pattern)

    回到占占推荐博客索引 设计模式(Design pattern)与其它知识不同,它没有华丽的外表,没有吸引人的工具去实现,它是一种心法,一种内功,如果你希望在软件开发领域有一种新的突破,一个质的飞越,那 ...

  4. Design Pattern Template Method C

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Defi ...

  5. Design Pattern Strategy C

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Defi ...

  6. Design Pattern - Visitor(C#)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Defi ...

  7. Design Pattern - State(C#)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Defi ...

  8. Design Pattern - Observer(C#)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Defi ...

  9. Design Pattern - Mediator(C#)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Defi ...

最新文章

  1. Logstash 父子关系 配置
  2. 微擎html注释,微擎界面设计规范
  3. 干货!不得不知的UI界面中“行为召唤按钮”设计秘诀
  4. Nginx面试中最常见的18道题及答案
  5. llmp_install.zip
  6. 2011.10.16
  7. IDC 和浪潮联合发布了《2020-2021 中国人工智能计算力发展评估报告 》
  8. redis-hmmap-go
  9. 用大数据挑选出国外最值得看的前50条swift教程(v.2019)
  10. 【硬件】达林顿驱动电路ULN2000
  11. 【小米小爱老师4G网络尊享版使用总结】界面|设置|安装|输入_摘要频道_什么值得买...
  12. 孤儿进程与僵尸进程产生及其处理
  13. 谁在驱动滴滴发动机?
  14. WIN7下安装WIN2003系统
  15. PyTorch注意力机制【动手学深度学习v2】
  16. 西门子在华启动“零碳先锋计划”;希尔顿欢朋在华项目签约数突破600 | 美通社头条...
  17. 电子科大计算机学院郑欣,我校研究生在“华为杯”第十六届中国研究生数学建模竞赛中获佳绩...
  18. .net使用pdfobject.js加载pdf文件
  19. 【JZOJ2867】Contra
  20. 双边滤波(bilateral filter)以及联合双边滤波(joint bilateral filter)

热门文章

  1. bootstrap简单使用
  2. 归并排序算法(C#实现)
  3. java程序转成mac应用,如何为Java应用程序创建Mac安装程序?
  4. 陕西省高级职称 计算机要求,陕西省卫生高级职称评审申报条件
  5. Android修改项目包名
  6. android base64encoder 不存在
  7. cesium polygon 悬浮在半空中
  8. Netcdf中多变量导出代码示例
  9. chromedriver : Saving to 安装卡住 解决
  10. matlab impyramid,图像 – Matlab impyramid问题