zoukankan      html  css  js  c++  java
  • 设计模式入门笔记(1.1)

    什么是设计模式?

    【From 百度百科】

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


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

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

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

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

    注:

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

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

    面对对象三大特点:

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

    抽象与实例:


    【举个栗子】

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

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

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

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


    复用与活字印刷:

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


    在活字印刷中,复用的就是一个个单独的字。
  • 相关阅读:
    Nginx无缝升级
    ajax form提交的问题
    Ubuntu下pecl_http的安装
    提高PHP的运行效率的方法
    php.ini中文对照
    类似 TP中 eq 标签
    PHP身份证验证程序
    mysql在php中的应用
    如何添加JavaScript到Joomla模板中去
    USACO / Controlling Companies (类似BFS)
  • 原文地址:https://www.cnblogs.com/noneplus/p/11330083.html
Copyright © 2011-2022 走看看