随笔分类 -  知识库

摘要:Array.from(document.querySelectorAll("code")).map(a=>{a.style="user-select:text;"}); $("#content_views").off("copy"); 阅读全文
posted @ 2024-11-22 14:44 huiy_小溪 阅读(11) 评论(0) 推荐(0) 编辑
摘要:原文:http://c.biancheng.net/view/1402.html定义:给分析对象定义一个语言,并定义该语言的文法表示,再设计一个解析器来解释语言中的句子。什么时候用:当语言的文法较为简单,且执行效率不是关键问题时。 当问题重复出现,且可以用一种简单的语言来进行表达时。 当一个语言需要 阅读全文
posted @ 2021-11-19 14:30 huiy_小溪 阅读(27) 评论(0) 推荐(0) 编辑
摘要:原文:http://c.biancheng.net/view/1400.html定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模式。什么时候用: 需要保存与恢复数据的场景,如玩游戏时的中间结果的存档功能 阅读全文
posted @ 2021-11-19 11:08 huiy_小溪 阅读(37) 评论(0) 推荐(0) 编辑
摘要:原文:http://c.biancheng.net/view/1397.html定义:将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式。什么时候用: 对象结构相对稳定,但其操作算法经常变化 阅读全文
posted @ 2021-11-19 10:42 huiy_小溪 阅读(27) 评论(0) 推荐(0) 编辑
摘要:原文:http://c.biancheng.net/view/1395.html定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。什么时候用: 当需要为聚合对象提供多种遍历方式时。 当需要为遍历不同的聚合结构提供一个统一的接口时。 当访问一个聚合对象的内容而无须暴露其内 阅读全文
posted @ 2021-11-19 10:17 huiy_小溪 阅读(21) 评论(0) 推荐(0) 编辑
摘要:原文:http://c.biancheng.net/view/1393.html定义:定义一个中介对象来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。中介者模式又叫调停模式。什么时候用: 当对象之间存在复杂的网状结构关系而导致依赖关系混乱且难以复用时。 当想创建 阅读全文
posted @ 2021-11-19 10:09 huiy_小溪 阅读(36) 评论(0) 推荐(0) 编辑
摘要:原文:http://c.biancheng.net/view/1390.html定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。主要优点: 降低了目标与观察者之间的耦合 阅读全文
posted @ 2021-11-18 15:41 huiy_小溪 阅读(35) 评论(0) 推荐(0) 编辑
摘要:原文:http://c.biancheng.net/view/1388.html定义:对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。什么时候用:当一个对象的行为取决于它的状态,并且它必须在运行时根据状态改变它的行为时,就可以考虑使用状态模式 阅读全文
posted @ 2021-11-18 15:26 huiy_小溪 阅读(35) 评论(0) 推荐(0) 编辑
摘要:原文:http://c.biancheng.net/view/1383.html 什么时候用:多个对象可以处理一个请求,但具体由哪个对象处理该请求在运行时自动确定。 可动态指定一组对象处理请求,或添加新的处理者。 需要在不明确指定请求处理者的情况下,向多个处理者中的一个提交请求。 主要优点: 降低了 阅读全文
posted @ 2021-11-18 10:45 huiy_小溪 阅读(37) 评论(0) 推荐(0) 编辑
摘要:原文:http://c.biancheng.net/view/1380.html什么时候用:请求调用者需要与请求接收者解耦时,命令模式可以使调用者和接收者不直接交互。 系统随机请求命令或经常增加、删除命令时,命令模式可以方便地实现这些功能。 当系统需要执行一组操作时,命令模式可以定义宏命令来实现该功 阅读全文
posted @ 2021-11-18 10:13 huiy_小溪 阅读(31) 评论(0) 推荐(0) 编辑
摘要:原文:http://c.biancheng.net/view/1378.html什么时候用:一个系统需要动态地在几种算法中选择一种时,可将每个算法封装到策略类中。 一个类定义了多种行为,并且这些行为在这个类的操作中以多个条件语句的形式出现,可将每个条件分支移入它们各自的策略类中以代替这些条件语句。 阅读全文
posted @ 2021-11-18 10:05 huiy_小溪 阅读(39) 评论(0) 推荐(0) 编辑
摘要:原文:http://c.biancheng.net/view/1373.html什么时候用:在需要表示一个对象整体与部分的层次结构的场合。 要求对用户隐藏组合对象与单个对象的不同,用户可以用统一的接口使用组合结构中的所有对象的场合主要优点: 组合模式使得客户端代码可以一致地处理单个对象和组合对象,无 阅读全文
posted @ 2021-11-18 09:20 huiy_小溪 阅读(29) 评论(0) 推荐(0) 编辑
摘要:本质:缓存共享对象,降低内存消耗什么时候用:系统中存在大量相同或相似的对象,这些对象耗费大量的内存资源。 大部分的对象可以按照内部状态进行分组,且可将不同部分外部化,这样每一个组只需保存一个内部状态。 由于享元模式需要额外维护一个保存享元的数据结构,所以应当在有足够多的享元实例时才值得使用享元模式。 阅读全文
posted @ 2021-11-18 09:12 huiy_小溪 阅读(24) 评论(0) 推荐(0) 编辑
摘要:原文:http://c.biancheng.net/view/1369.html 什么时候用:对分层结构系统构建时,使用外观模式定义子系统中每层的入口点可以简化子系统之间的依赖关系。 当一个复杂系统的子系统很多时,外观模式可以为系统设计一个简单的接口供外界访问。 当客户端与多个子系统之间存在很大的联 阅读全文
posted @ 2021-11-17 14:00 huiy_小溪 阅读(34) 评论(0) 推荐(0) 编辑
摘要:原文:http://c.biancheng.net/view/1366.html什么时候用:当需要给一个现有类添加附加职责,而又不能采用生成子类的方法进行扩充时。例如,该类被隐藏或者该类是终极类或者采用继承方式会产生大量的子类。 当需要通过对现有的一组基本功能进行排列组合而产生非常多的功能时,采用继 阅读全文
posted @ 2021-11-17 13:22 huiy_小溪 阅读(29) 评论(0) 推荐(0) 编辑
摘要:原文地址:http://c.biancheng.net/view/1364.html 什么时候用: 结构图: 示例代码: 阅读全文
posted @ 2021-11-17 09:32 huiy_小溪 阅读(34) 评论(0) 推荐(0) 编辑
摘要:原文地址:http://c.biancheng.net/view/1361.html什么时候用:当前接口不满足第三方系统需求,这种不满足不是根本上的不满足,往往是形式上的,只要加以转换就可以。适配器模式(Adapter)包含以下主要角色: 目标(Target)接口:当前系统业务所期待的接口,它可以是 阅读全文
posted @ 2021-11-16 09:17 huiy_小溪 阅读(28) 评论(0) 推荐(0) 编辑
摘要:原文:http://c.biancheng.net/view/1359.html什么时候用:只想使用主接口的特定功能,且不想暴露主接口。在满足基本功能的基础上,可以加以扩展,并不涉及主接口的变动代理模式分为静态代理和动态代理。 静态:由程序员创建代理类或特定工具自动生成源代码再对其编译,在程序运行前 阅读全文
posted @ 2021-11-15 16:59 huiy_小溪 阅读(15) 评论(0) 推荐(0) 编辑
摘要:原文地址:http://c.biancheng.net/view/1354.html什么时候用:一个复杂的对象该对象构造过程由多个部分组成各部分的构造是有先后顺序的主要角色: 产品角色(Product):它是包含多个组成部件的复杂对象,由具体建造者来创建其各个零部件。 抽象建造者(Builder): 阅读全文
posted @ 2021-11-15 14:55 huiy_小溪 阅读(22) 评论(0) 推荐(0) 编辑
摘要:原文地址:http://c.biancheng.net/view/1351.html工厂模式:创建一个类时,不在使用处用new来创建,而是有另一个类控制创建,这个类就是生成类的工厂。优点:统一生产业务所需的类,实现了创建与使用分离。调用者只需要知道工厂的名称,就可以知道所能生成的类缺点:工厂类越来越 阅读全文
posted @ 2021-11-15 14:02 huiy_小溪 阅读(36) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示