zoukankan      html  css  js  c++  java
  • JS设计模式之序

    最近看了3本关于设计模式的好书,Head First Design Patterns,Learning Javascript Design Patterns,大话设计模式,也顺便捡一捡多年不用的英语。

    我们都知道一个古老的问题:面向对象的好处有哪些?可复用、可扩展、易维护、灵活。我用一门面向对象语言(比如c#)来写程序,我的代码当然不会自动获得上述优点,而取决于我怎么去写。那怎么写出可复用、可扩展、易维护又灵活的代码呢,大牛们早已总结了以下设计原则:

    • seperate what changes from what stays the same
    • program to an interface, not an implementation
    • favor composition over inheritance
    • strive for loosely coupled designs between objects that interact
    • classes should be open for extension, but close to modification
    • talk only to your immediate friends
    • a class should have only one reason to change

    如果只用一句话来概括设计原则,那么一定是第一条,封装变化。毕竟变化是“enemy”,它不可避免,才驱使我们燃烧着脑力堆积起健壮的代码来对坑它。

    为此,大牛们又给了我们“武器”,即各种各样的设计模式,用来解决某一类问题或问题的某个方面。设计模式不是具体的解决方案,它更像是一个获得大家认可的模板,我们利用这个模板来解决问题。面对不同的情况,选择对的设计模式,并恰当的使用,决定了好坏,也是我目前的目标:)

    值得一提的是,这些经典的介绍设计模式的书籍里充斥着类、接口等等,而javascript里并没有类和接口,所以这个系列主要想记录下来自己学习设计模式和应用到javascript上的一些疑惑、心得和体会。

  • 相关阅读:
    php 给图片添加文字水印 可控制位置,旋转,多行文字
    太多的用户请求,网站出现了504
    这些问题,你注意了吗?
    ubuntu 系统环境配置记录
    node.js开发指南中出现的问题 has no method 'router'解决办法
    在nodejs express 中使用session的功能
    更改窗口大小,重新加载微博发布框
    原生js控制audio标签自动播放
    利用css3转换transform画五星红旗
    css3+js旗帜飘动
  • 原文地址:https://www.cnblogs.com/coiorz/p/4804141.html
Copyright © 2011-2022 走看看