设计模式的目的

编写软件的过程中,程序员面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性等多方面的挑战。设计模式为了让程序具有更好的

1.代码重用性(即:相同功能的代码,不用多次编写)
2.可读性(即:编程规范性,方便程序员读懂代码)
3.可扩展性(即:当需要增加新的功能时,非常方便,称为可维护)
4.可靠性(即:当我们增加新功能后,对原功能没有影响)
5.使程序员呈现搞内聚,低耦合的特性

设计模式的七大原则

1.单一职责原则
2.接口隔离原则
3.依赖倒转原则
4.里氏替换原则
5.开闭原则(ocp)
6.迪米特法则
7.合成复用原则

设计模式在软件中的哪里体现

面向对象(oo)--> 功能模块[设计模式+算法(数据结构)]-->框架[使用多种设计模式]-->架构[服务器集群]

面试时可能会问到的问题

1.使用过什么样的设计模式
2.怎样使用的
3.解决了什么问题

分享金句

引用scott Mayers在其巨著《Effective C++》这本书中的名句,“C++老手和C++新手的区别就是前者手背上有很多伤疤”。意思是一个优秀的程序员是在踩过很多坑,受过很多伤才能成长的。设计模式是前人在踩坑和开发过程中总结的经验,所以学会使用设计模式能让一个新手程序员能高效地进行业务的开发。

下一篇链接(java设计模式学习笔记--单一职责原则):

https://www.cnblogs.com/windowsxpxp/p/11567513.html

最新文章

  1. 【无私分享:ASP.NET CORE 项目实战(第五章)】Repository仓储 UnitofWork
  2. map
  3. C#获取本机可用端口
  4. Android -- 自定义控件(ImageButton)
  5. spring4+websocket+nginx详细配置
  6. Cross-Entropy Loss 与Accuracy的数值关系
  7. leetcode—Valid Parentheses
  8. 关于ubuntu上执行错误命令报错
  9. vmware: The file system upon which * resides is critically low on free space.
  10. C语言之二分猜数字游戏
  11. 联合查询到gridview
  12. HTTPSQS 队列
  13. vCenter简单查看多少虚拟机在开机状态和一共多少虚拟机
  14. join 关键字
  15. 判断runtime是否运行在docker中及从docker中获取宿主机的ip信息
  16. [原创]K8正方系统密码解密工具
  17. 团队项目个人进展——Day06
  18. poj2752seek the name, seek the fame【kmp】
  19. ASP.NET中数据绑定表达式
  20. MongoDB以Windows Service运行

热门文章

  1. Spring初识、新建工程
  2. django登录页面优化
  3. Android Webview实现有道电子词典
  4. Visual Studio 常见问题
  5. No
  6. CCF_201312-1_出现次数最多的数
  7. js 浏览器兼容问题及解决办法
  8. php 关于php创建 json文件 和 对文件增删改查 示例
  9. How to Convert a Class File to a Java File?
  10. k8s系列---故障