设计模式入门笔记(1.1)

什么是设计模式?

【From 百度百科】

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


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

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

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

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

注:

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

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

面对对象三大特点:

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

抽象与实例:


【举个栗子】

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

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

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

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


复用与活字印刷:

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


在活字印刷中,复用的就是一个个单独的字。
posted @ 2019-08-09 23:27  笑谈渴饮匈奴血  阅读(234)  评论(0编辑  收藏  举报