一、页面概况 二、问题点 点击modal “关闭”按钮后,父modal“关闭”按钮失效 点击modal 右上角“X”后,父modal会一同关闭 三、解决方法 重写子modal的hide 触发事件 hide.bs.modal...myModal').on('hide.bs.modal', function (e) { $("#myModal .modal-body").empty(); }); }); 子modal “关闭...class="modal-body" id="myModalBody"> //onclick 方法的具体实现,右上角的“X”和“关闭
行为模式(Behavioral Pattern)是对不同的对象之间划分责任和算法的抽象化。 行为模式不仅仅是关于类和对象的,而且是关于它们之间的相互作用的。...行为模式分为类的行为模式和对象的行为模式: 类的行为模式: 类的行为模式使用继承关系在几个类之间分配行为。 对象的行为模式:对象的行为模式则使用对象的聚合来分配行为。...后面将介绍的行为模式包括: 不变模式、策略模式、模板方法模式、观察者模式、迭代函数模式、责任链模式、 命令模式、备忘录模式、状态模式、访问者模式、解释器模式、调停者模式等。
PyCharm 在2017.3版本之后加入了Scientific Mode,在科学计算时,可以方便的追踪变量变化等。
基于Bootstrap和JQuery实现动态打开和关闭tab页 by:授客 QQ:1033553122 1....测试环境 JQuery-3.2.1.min.j Bootstrap-3.3.7-dist win7 2....isTabExists(menuID){ var tab = $('#tab-li-' + menuID + ' > #tab-a-' + menuID); return tab.length>0; } /** * 关闭...var li_active= $("#"+ tabFatherElementID+ " >li.active"); if (li_active.attr('id') == li_id) { // 如果关闭的是当前处于选中状态的...如果当前tab标签之前不存在tab标签,并且在其之后存在tab标签,则激活后一个tab标签页 li_active.next().find("a").click(); } } //关闭
设计模式中的行为型模式 结构型模式 行为型模式(Behavioral Pattern)是对在不同的对象之间划分责任和算法的抽象化。...行为型模式不仅仅关注类和对象的结构,而且重点关注它们之间的相互作用。 通过行为型模式,可以更加清晰地划分类与对象的职责,并研究系统在运行时实例对象 之间的交互。...行为型模式分为类行为型模式和对象行为型模式两种: 类行为型模式:类的行为型模式使用继承关系在几个类之间分配行为,类行为型模式主要通过多态等方式来分配父类与子类的职责。...对象行为型模式:对象的行为型模式则使用对象的聚合关联关系来分配行为,对象行为型模式主要是通过对象关联等方式来分配两个或多个类的职责。...根据“合成复用原则”,系统中要尽量使用关联关系来取代继承关系,因此大部分行为型设计模式都属于对象行为型设计模式。
十一大行为型模式之三:命令模式。...(来自《设计模式之禅》) 你要的故事 作为一个程序猿,我们每天都在经历着命令模式,技术经理把需求任务分配给工程师开发,有时因为第三方或者其他不可抗拒的因素导致需求停止开发。这种工作模式就是命令模式。...非命令模式 非命令模式也就是不使用命令模式的代码实现。...,让调用者和接受者没有任何关系,也通过对行为的抽象,让新增其他行为变得清晰容易,也就是可扩展性大大增加。...这就是命令模式给我们带来的优点。 参考资料:《大话设计模式》、《设计模式之禅》
十一大行为模式之八:状态模式。...当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类。 (来自《设计模式之禅》) 你要的故事 现在有好多个人贷款软件,比如:支付宝、360借条(打广告。。。)等等。...看起来有点繁琐,扩展性不高,假设新增了一个状态,那么注册、授信、借款这 3 种行为的代码都要修改。下面通过状态模式来解决这个问题。...我们把状态给抽出来,作为一个接口,因为在每种状态中都可能有注册、授信、借款行为,所以把这 3 个行为作为状态接口的方法,让每个状态子类都实现相应的行为控制。如下代码所示。...而每个状态都有 3 种行为,它们各自对这些行为进行权限控制。
十一大行为型模式之五:策略模式。...上面代码就是完整的策略模式示例,是不是感觉有些问题,这 4 种洗衣类型对象完全暴露给了用户,这也是策略模式的缺点。...往往策略模式不会单独使用,会和其他设计模式一起使用,比如和简单工厂模式一起使用就可以解决这个对外暴露对象的问题,看下面代码。...https://github.com/1CSH1/DesignPatterns/blob/master/src/com/liebrother/designpatterns/strategy/ 总结 策略模式是一个很好的封装各种复杂处理的设计模式...这其中也是一个见招拆招的问题,设计模式在真正运用中也是这样子的,遇到问题使用恰当的设计模式去解决问题。 参考资料:《大话设计模式》、《设计模式之禅》
设计模式-行为型模式-命令模式 基础 以一个MIS系统为栗子 MIS 管理信息系统(Management Information System,MIS)是一个以人为主导的,利用计算机硬件、软件和网络设备
时间很快,不知不觉漫谈模式系列已经将设计模式-行为型篇写完。本文主要来简单回顾一下之前写的一些内容。迭代器器模式介绍意图提供一种方法顺序访问一个聚合对象中各个元素,而不是暴露该对象的内部表示。...中介者在各同事间适当地转发请求以实现写作行为。详见:漫谈模式之中介者模式状态模式的基本介绍意图允许一个对象在其内部状态改变的时候改变它的行为。对象看起来似乎修改了它的类。...详见:漫谈模式之模版方法模式访问者模式的基本介绍意图访问者模式是对象的行为模式,其表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。...策略模式 vs 解释器模式策略模式的目的是在运行时根据需要选择不同的算法或行为,而解释器模式的目的是根据特定语言的规则解释和执行语句。...策略模式状态模式将一群行为封装到状态类中,主类的当前状态在状态集合中游走,随着时间的流逝,主类的行为不断变化,但这对客户端而言完全是透明的,而策略模式需要客户端明确所有策略,以指明一个具体的策略。
策略模式是让策略的实现与策略的使用解耦,在我们日常的开发中,经常用来重构和优化if-else和switch语句。...当然,策略模式并不是为了取代if-else和switch语句而生的,这里好多人有一个误区,它的思想是接口的一组实现可以相互替换,让使用和实现解耦。...getClass()); public void doStrategy() { logger.info("doStrategy StrategyB"); } } 有状态的策略模式使用...return new StrategyB(); }else{ return null; } } } 无状态的策略模式使用
前言 行为型模式共十一种:策略模式、模板方法模式、观察者模式、迭代器模式、解释器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式。...其他同系列的文章还有: 面向对象编程中的六大原则 设计模式| 创建型模式 设计模式| 结构型模式 设计模式| 行为型模式 (上) 设计模式| 行为型模式 (下) 欢迎阅读,评论!!!...B.有几种相似的行为,或者说算法,客户端需要动态地决定使用哪一种,那么可以使用策略模式,将这些算法封装起来供客户端调用。...观察者模式是一种对象行为型模式。...职责链模式是一种对象行为型模式。
当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。...需要在系统中创建一个触发链,A对象的行为将影响B对象,B对象的行为将影响C对象……,可以使用观察者模式创建一种链式触发机制。 注意事项: JAVA 中已经有了对观察者模式的支持类。 避免循环引用。
十一大行为型模式之六:迭代器模式。...今天讲的迭代器模式,我们就拿听歌这件事来说说,大家都知道听歌有几种模式:单曲循环、列表循环、随机等等。。。现在网易云音乐还多了一个心动模式。...既然说到迭代器模式,那这里就要着重讲讲列表循环这个听歌模式,其他的就先抛到脑后。在列表循环中,歌曲从第一条播放到最后一条,也就是一个遍历歌单的过程。...,有不少开发同学知道迭代器,但是不知道它是设计模式。...好了,迭代器模式就讲到这,大家知道的知识就不多说啦。 参考资料:《大话设计模式》、《设计模式之禅》
状态模式(State) 状态模式(State) 介绍 状态模式是一种行为设计模式 状态模式能在一个对象的内部状态变化时改变其行为,使其看上去就像改变了自身所属的类一样。...适用场景 对象需要根据当前状态进行不同行为,同时状态的数量非常多且与状态相关的代码会频繁变更。 某个类需要根据成员变量的当前值改变自身行为,从而需要使用大量的条件语句。...缺点: 复杂度增加:如果状态机只有很少的几个状态,使用状态模式会很复杂。 与其他模式的关系 状态可被视为策略的扩展 策略模式中的策略则几乎完全不知道其他策略的存在。...状态模式中,特定状态知道其他所有状态的存在,且能触发从一个状态到另一个状态的转换。 实现方式 声明状态接口。 为每个实际状态创建一个继承状态接口的类。...如果状态类中不包含成员变量,则可以使用单例模式来配合使用。 其他实现方法: 分支逻辑法:直接利用 if 逻辑或者 switch 分支逻辑,直接写状态转移的代码。适合简单直接的状态机。
模板模式是常用的一种行为型设计模式,主要思想是在模板中定义一套流程骨架代码,并且不实现骨架代码中使用的一些方法,这些方法留给子类去实现。...args){ AbstractReportTemplate aReport = new AReport(); aReport.doTask(); } 可见,模板模式实现起来非常简单...下面我介绍几个源码中的模板模式。
行为型模式 行为型模式(Behavioral Pattern)是对在不同的对象之间划分责任和算法的抽象化。行为型模式不仅仅关注类和对象的结构,而且重点关注它们之间的相互作用。...根据其意图或目的,行为型模式可以分为两大类: 类行为型模式(Class Behavioral Pattern):类的行为型模式使用继承关系在几个类之间分配行为,类行为型模式主要通过多态等方式来分配父类与子类的职责...对象行为型模式(Object Behavioral Pattern):对象的行为型模式则使用对象的聚合关联关系来分配行为,对象行为型模式主要是通过对象关联等方式来分配两个或多个类的职责。...根据“合成复用原则”,系统中要尽量使用关联关系来取代继承关系,因此大部分行为型设计模式都属于对象行为型设计模式。 下面我们来看看每一类中包含哪些具体的设计模式,并举一些简单的例子来说明它们的作用。...对象行为型模式 对象行为型模式包括以下九种: 策略模式(Strategy Pattern):定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的改变不会影响使用算法的客户。
十一大行为型模式之二:中介者模式。...(来自《设计模式之禅》) 你要的故事 看了这小伙子的名字,大家会很直观的想到那些拿了我们半个月租的租房中介同学。在这不讲讲房租中介同学,以后可没机会了。...这也是中介者模式的优点,减少了不必要的依赖,降低了类间的耦合。...这也是中介者模式的优点,减少了不必要的依赖,降低了类间的耦合。...看看你工作中的代码,想想看有没有哪些对象之间的关系特紧密特混乱,考虑是不是可以通过中介者模式来把依赖关系剥离,让代码更清晰。 参考资料:《大话设计模式》、《设计模式之禅》
行为模式是对不同对象之间划分责任和算法的抽象化。行为对象模式使用对象复合而不是继承。再来回顾一下各个行为模式的意图和结构。 1....中介者在各同事间适当地转发请求以实现写作行为。 详见《中介者模式浅析》 6. 备忘录模式的基本介绍 意图 在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。...状态模式的基本介绍 意图 允许一个对象在其内部状态改变的时候改变它的行为。对象看起来似乎修改了它的类。 结构 状态模式的基本结构如下: ?...详见《模板方法模式浅析》 11. 访问者模式的基本介绍 意图 访问者模式是对象的行为模式,其表示一个作用于某对象结构中的各元素的操作。...》 不知不觉,已经将中行为模式都写了一遍了,有兴趣的朋友可以一起研读、交流。
行为型模式 一、设计模式总分类 创建型模式( 5种 ) 结构型模式( 7种 ) 行为型模式( 11种 ) 二、责任链模式 作用 应用背景 演示代码 三、迭代器模式 作用 应用背景 演示代码 四、中介者模式...作用 应用背景 演示代码 十、状态模式 作用 应用背景 演示代码 十一、观察者模式 作用 应用背景 演示代码 十二、备忘录模式 作用 应用背景 演示代码 十三、行为模式汇总 一、设计模式总分类 创建型模式...适配器模式 代理模式 桥接模式 装饰模式 组合模式 外观模式 享元模式 行为型模式( 11种 ) 关注对象之间的行为交互 .研究在系统运行时对象之间的相互通信和协作 ,进一步明确对象职责...十三、行为模式汇总 模式分类 作用 职责链模式 避免请求发送者和接收者耦合,让多个对象都有可能接收请求,将这些对象连成一条链,并且沿着这条链传递请求,直到有对象处理为止 命令模式 将一个请求封装为一个对象...备忘录模式 捕获一个对象的内部状态,并保存之;需要时,可以恢复到保存的状态 观察者模式 当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新 状态模式 允许一个对象在其内部状态改变时改变它的行为
领取专属 10元无门槛券
手把手带您无忧上云