• 设计模式


    设计模式
    什么是设计模式?(单例、工厂、观察者、代理、策略等,后台语言设计模式:MV*--->MVC   MVVM 不属于23种设计模式 )
    MV
    MVC  
    设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。   设计模式就是一种 编程规范  架构层面的
     
    单例模式
    什么是单例 ? 永远保持对象的一个实例(多次创建对象这些对象只指向一个对象)
     
    原理 : 在构造函数中,先将第一次new出来的对象  this  存入到一个变量中 并返回这个变量
           再次创建对象时(new) , 判断这个变量中是否含有值,如果有 就返回该对象
                    function Fn(){
                        if( !Fn.ins ){
                            Fn.ins = {
                                属性:属性值
                            }
                        }
                        return Fn.ins
                    }
     
    单例模式好处 : 可以实现私有变量的全局累加功能
                   减少对象的创建,节省资源,适当的时候通过单例共享数据
     
    工厂模式
    让对象的调用者和对象创建过程分离,当对象调用者需要对象时,直接向工厂请求即可。从而避免了对象的调用者与对象的实现类似编码方式耦合,以提高系统的可维护性、可扩展性。
     
    观察者模式(异步现象)
    观察者模式又叫发布订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时就会通知所有的观察者对象,使得它们能够自动更新自己。    
     
    在一个构造函数中 通知另外一个构造函数 要实现的方法  
    烧水 --
     
    小孩哭了  ----  饿了  开始喂奶了
    function Child(dad,mum){
        this.dad = dad;
        this.mum = mum;
        this.cry = function(){
                //观察者模式   
            //小孩哭了  通知父亲该给孩子喂奶了
             this.dad.weinai();
        }
     
        setTimeout(function(){
            this.cry();
        }.bind(this),Math.random()*5000+300)
    }
     
    function Dad(){
        this.weinai = function(){
            alert("给孩子冲奶粉~~~");
        }
    }
     
     
    代理商模式
    作用
        在于执行目标函数之前,可以先做一些其他的相关操作
  • 相关阅读:
    Jsoup解析HTML、加载文档等实例
    MyBatis的学习总结六:Mybatis的缓存【参考】
    MyBatis的学习总结五:调用存储过程【参考】
    MyBatis的学习总结四:实现关联表查询【参考】
    MyBatis的学习总结三:优化MyBatis配置文件中的配置
    Mybatis的学习总结二:使用Mybatis对表进行CRUD操作【参考】
    Mybatis的学习总结:mybatis的入门介绍
    ueditor 编辑器,自定义图片上传
    Java使用HttpURLConnection上传文件(转)
    Maven缺少jar添加方式
  • 原文地址:https://www.cnblogs.com/tis100204/p/10302402.html
Copyright © 2020-2023  润新知