设计模式入门笔记(1.1) - Go语言中文社区

设计模式入门笔记(1.1)


什么是设计模式?

【From 百度百科】

设计模式是一种用于代码设计经验总结


设计模式的目的?为什么使用设计模式?

HelloWorld是不需要使用设计模式的,设计模式的主要应用场景是在大型应用的构建上,假想一下,在2万行代码中增加功能,如果程序可读性差,代码将难以扩展和优化。

所以,设计模式主要聚焦:

  • 构建工程化结构
  • 代码的复用性
  • 代码的易读性
  • 代码的可扩展性

注:

  • 不同设计模式适用于不同的场景。
  • 设计模式考虑的角度是整个软件体系的结构是否合理,是否稳定,而并非聚焦于单个的功能实现,所以在实际开发过程中,简单的问题或许会因为出于对于全局的优化考虑而复杂化。
  • 设计模式并不是完美的,经验可以解决现有问题,但同时也会带来新的问题,场景分类,权衡取舍,才是设计模式的正确打开方式。

学习设计模式之前需要了解的知识

面对对象三大特点:

  • 封装:隐藏复杂,暴露简单(隔离变化,保护数据,提高代码重用性)
  • 继承:复用现有代码(多态的前提)
  • 多态:改写对象行为(提高代码扩展性)


抽象与实例:


【举个栗子】

以吃早餐为例,每天早晨都会吃早餐,但是今天可能喝豆浆吃油条,明天呢吃包子喝粥。

每天早晨都会吃东西(正常情况下),但是每天都不一样。

那么每天早饭的内容就是实例,而每天都要吃早饭的行为或者说习惯称之为抽象。

Conclusion:抽象就是指不变的事物(每天都吃早餐),而实例是指会变化的事物(每天吃的都不一样)。



复用与活字印刷:

活字印刷与复用的思想不谋而合。举个栗子简单描述一下,比如说要印刷一份出师表,按照以往的科技,先在石板上调刻一份出师表然后刷墨,然后用纸印。但是这块石板就只能印出师表了,活字印刷的思想就是把字拆解开来,需要的时候再进行组合。比如说,出师表有738个字,那就先刻500个独立的字(假设有重复)然后排列组合印刷。等下一次,要印离骚了,先把500字中能用的先拿出来,然后刻剩下的字。久而久之,每次印刷只需要排列字的顺序就行了。



在活字印刷中,复用的就是一个个单独的字。

版权声明:本文来源博客园,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.cnblogs.com/noneplus/p/11330083.html
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-11-16 23:46:18
  • 阅读 ( 1214 )
  • 分类:设计模式

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢