• Design pattern---观察者模式

    时间:2023-12-16 13:40:26

    观察者模式:发布/订阅模式,当某对象(被观察者)状态发生改变时所有订阅该对象的观察者对象(观察者)都将更新自己成员(4种):1.抽象被观察者:将所有的观察者对象的引用存入一个集合,并且定义了添加 / 删除 / 更新观察者的接口,每一个被观察者都可以有若干个观察者。2.具体被观察者:实现了抽象被观察者...

  • [重构到模式-Chain of Responsibility Pattern]把Fizz Buzz招式重构到责任链模式

    时间:2023-12-16 12:17:41

    写一段程序从1打印到100,但是遇到3的倍数时打印Fizz,遇到5的倍数时打印Buzz,遇到即是3的倍数同时也是5的倍数时打印FizzBuzz。例如:1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buz

  • Lua 中string.gsub(sourceString, pattern, replacementString) 返回值有两个

    时间:2023-12-11 20:25:42

    这阵子在学习lua,今天看到string操作,书中描述string.gsub(sourceString, pattern, replacementString)返回一个字符串,但是我在实际操作中却发现,这个函数其实返回的是两部分内容,一部分是替换后的字符串,一部分是替换长度。myString = "...

  • .NET设计模式 第二部分 创建型模式(1)—:单件模式(Singleton Pattern)

    时间:2023-12-11 13:47:18

    单件模式(Singleton Pattern)——.NET设计模式系列之二Terrylee,2005年12月07日概述Singleton模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点。这就提出了一个问题:如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?客户程序在调用某一个类时...

  • 设计模式(六)Prototype Pattern 原型模式

    时间:2023-12-10 11:26:08

    通过new产生一个对象非常繁琐,可以使用原型模式原型模式实现:——Cloneable接口和clone方法——Prototype模式实现起来最困难的地方是实现内存的复制和操作,Java中提供了clone方法省了大部分事情案例:多利羊的克隆package com.littlepage.Prototype...

  • 简单工厂(Simple Pattern)模式

    时间:2023-12-06 15:54:14

    一、简单工厂(Simple Factory)模式Simple Factory 模式根据提供给它的数据,返回几个可能类中的一个类的实例。通常它返回的类都有一个公共的父类和公共的方法。Simple Factory 模式实际上不是 Gof 23个设计模式中的一员。二、 简单工厂(Simple Factor...

  • 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)

    时间:2023-12-06 15:22:47

    原文:乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)[索引页][源码下载]乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)作者:webabcd介绍定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Templ...

  • 第19章 解释器模式(Interpreter Pattern)

    时间:2023-12-06 14:56:39

    原文 第19章 解释器模式(Interpreter Pattern)解释器模式导读:解释器模式,平常用的比较的少,所以在写这个模式之前在博客园搜索了一番,看完之后那叫一个头大。篇幅很长,我鼓足了劲看了半天的描述跟解释,可能是本人的水平有限,或者是耐心太差,看到一半就有点扛不住了。我感觉对于一个菜鸟或...

  • 第 5 章 工厂方法模式【Factory Method Pattern】

    时间:2023-12-06 12:43:24

    以下内容出自:<<24种设计模式介绍与6大设计原则>>女娲补天的故事大家都听说过吧,今天不说这个,说女娲创造人的故事,可不是“造人”的工作,这个词被现代人滥用了。这个故事是说,女娲在补了天后,下到凡间一看,哇塞,风景太优美了,天空是湛蓝的,水是清澈的,空气是清新的,太美丽了,...

  • 第23章 访问者模式(Visitor Pattern)

    时间:2023-12-02 21:08:09

    原文 第23章 访问者模式(Visitor Pattern)访问者模式导读:访问者模式是我个人认为所有行为模式中最为复杂的一种模式了,这个模式可能看一遍会看不懂,我也翻了好几个例子,依然不能很好的理解访问者模式的核心。下面这个例子是来源于大话设计模式中的例子,稍作了修改!后续如果我有更好的例子或者想...

  • 设计模式(九): 从醋溜土豆丝和清炒苦瓜中来学习"模板方法模式"(Template Method Pattern)

    时间:2023-12-02 19:52:47

    今天是五.四青年节,祝大家节日快乐。看着今天这标题就有食欲,夏天到了,醋溜土豆丝和清炒苦瓜适合夏天吃,好吃不上火。这两道菜大部分人都应该吃过,特别是醋溜土豆丝,作为“鲁菜”的代表作之一更是为大众所熟知,醋溜土豆丝,好吃不上火。清炒苦瓜这道菜好啊,更是夏天必备之良菜,其功效在此就不做过多赘述了。言归正...

  • 23种设计模式--观察者模式-Observer Pattern

    时间:2023-12-01 16:57:13

    一、观察者模式的介绍     观察者模式从字面的意思上理解,肯定有两个对象一个是观察者,另外一个是被观察者,观察者模式就是当被观察者发生改变得时候发送通知给观察者,当然这个观察者可以是多个对象,在项目我们经常会用这些例子,这样避免了我们使用接口等那些依赖,比如电商项目中得降价通知,然后在来个生活中具...

  • Swift语言之命令模式(Command Pattern)实现

    时间:2023-11-29 14:15:20

    今天遇到这样一个问题,我现在有一个整数数组,如:var numbers = [3, 7, 12, 9, 200]现需要对其中的每一个数字都执行一系列相同的加减乘除操作,如对每一个数字都加5乘8再减去1,但是这样的操作在编译时并不确定,需要在运行时由用户指定;一看到这个题目,当然就想到了用设计模式中的...

  • 16.观察者模式(Observer Pattern)

    时间:2023-11-28 14:29:14

    动机(Motivate):     在软件构建 过程中,我们需要为某些对象建立一种“通知依赖关系” --------一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化。使用面 向对象技术,可以将这种依赖关系弱化,并形成...

  • 7.适配器模式(Adapter Pattern)

    时间:2023-11-27 12:56:29

    using System;namespace Test{ /// <summary> /// 适配器模式主要解决的问题就是我们要调用的接口类型,无法满足我们新系统的使用需求, /// 这时候,我们需要将旧系统的接口,通过适配器进行转配,达到支持新接口调用的目的。 ...

  • 5.建造者模式(Builder Pattern)

    时间:2023-11-23 20:01:42

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Test{ /// <summary> ...

  • Scala的Pattern Matching Anonymous Functions

    时间:2023-11-23 17:49:40

    参考自http://stackoverflow.com/questions/19478244/how-does-a-case-anonymous-function-really-work-in-scalahttp://www.scala-lang.org/files/archive/nightly/...

  • 十一个行为模式之迭代器模式(Iterator Pattern)

    时间:2023-11-22 18:55:06

    定义:提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示。使得存储和遍历两个职责相互分离,提高系统的可扩展性。结构图:Iterator:抽象迭代器类,定义了访问和遍历元素的接口,例如:next(),hasNext()等方法。所有具体的迭代器将实现这些方法来完成对聚合对象的访问。Concrete...

  • Circuit Breaker Pattern(断路器模式)

    时间:2023-11-22 15:56:28

    Handle faults that may take a variable amount of time to rectify when connecting to a remote service or resource. This pattern can improve the stabili...

  • C#设计模式之六适配器模式(Adapter Pattern)【结构型】

    时间:2023-11-21 22:29:49

    一、引言从今天开始我们开始讲【结构型】设计模式,【结构型】设计模式有如下几种:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。【创建型】的设计模式解决的是对象创建的问题,那【结构型】设计模式解决的是类和对象的组合关系的问题。今天我们就开始讲【结构型】设计模式里面的第一个设计模...