javascript设计模式_第一部分

本文深入探讨了JavaScript语言的关键特性,包括其灵活性、接口设计、封装机制、继承方式、单体模式的应用及方法的链式调用技巧。通过具体示例讲解如何在实际开发中运用这些概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一部分包括JS语言的特点,接口,封装,继承,单体模式,方法的链式调用

 

一:灵活的JS

    多种风格;弱类型;易变性:(利-动态修改 | 弊-不稳定,不确定性)

 

    JS中一切皆是对象,函数是一等对象

 

二:接口(个人认为是对JS灵活性的利弊进行了平衡)

   面向对象的第一设计原则:针对接口而不是实现编程

   定义:接口提供了了一种用以说明一个对象应该具有哪些方法的手段

   利:1,自我描述; 2,(类间)相互沟通

   弊:1,降低了灵活性;2,影响性能;3,无法强制保证接口

 

  接口的表示法:

  1.注释

    /*

    interface Composite(){
      function add(child);
      function remove(child);
      function getChild(index);
 }

     */

 

  2.属性检查

  3.鸭式辨型模仿接口

 

注意:使用接口的难点在于判断是否有必要使用它!!!

 

三:对对象的内容数据表现形式和实现细节进行隐藏

  方法:1.用命名规范区别私用成功 this._title

         2.用闭包实现私用成员

        

         3.高级用法

        

         4.常量

        

 

    封装之利:保护内容数据完整有效;弱化模块间的耦合;

    封装之弊:很难进行单元测试,实现封闭的困难

 

四:继承

...

 

五:单体模式

一个对象就是一个单体! var Singleton = {};

划分命名空间

 

拥有私有成员

      1.使用下划线

      2.使用闭包

      Mynamespace.Singleton = (function(){

          var a;

          return {

          //....

}

})()

    3.惰性实例化(将实例化推迟到需要使用的时候,称为惰性加载lazy loading)

    

     4.分支

    

     单体之利:组织代码,方法调试和维护

     单体之弊:可能导致模块间强耦合

 

    六:方法的链式调用

    重点:返回值return this;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值