01 2021 档案

摘要:一.介绍 责任链模式(Chain of Responsibility Pattern)。属于行为型模式。它使多个对象都有机会处理请求,从而避免发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 二.实现 举个例子,在一所银行里,有几个级别的员工,柜 阅读全文
posted @ 2021-01-29 12:02 shine声 阅读(346) 评论(0) 推荐(0) 编辑
摘要:一.介绍 迭代模式(Iterator Pattern)。属于行为型模式。它提供一种方法顺序访问聚合对象中各个元素,而又不暴露该对象的内部表示。 二.实现 迭代模式是针对聚合对象使用的,一般使用聚合,有增删改操作,也需要进行遍历操作。如果聚合对象全实现这些功能,那根据单一职责原则,聚合对象就承担了太多 阅读全文
posted @ 2021-01-28 14:04 shine声 阅读(232) 评论(0) 推荐(0) 编辑
摘要:一.介绍 观察者模式(Observer Pattern)。属于行为型模式。它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 二.实现 举个例子,我们开车时,当踩油门加速的时候,显示器上会显示车速,而超速 阅读全文
posted @ 2021-01-27 15:04 shine声 阅读(717) 评论(0) 推荐(1) 编辑
摘要:一.介绍 模板方法模式(Template Pattern)。属于行为型模式。它定义一个操作中算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 二.实现 一说到模板,就能想到这是个现有的,可以直接套用的东西。举个例子,我们去开车,不管开什么 阅读全文
posted @ 2021-01-26 16:53 shine声 阅读(178) 评论(0) 推荐(0) 编辑
摘要:一.介绍 策略模式(Stragety Pattern)。属于行为型模式。它定义了算法(行为)家族,分别封装起来,使得它们之间可以相互替换,此模型让算法(行为)的变化,不会影响到使用该算法(行为)的客户。 二.实现 举个例子,一辆车(Car类)里有轮胎(Tyre类)才能跑(Run),不同情况需要使用不 阅读全文
posted @ 2021-01-25 17:12 shine声 阅读(556) 评论(0) 推荐(0) 编辑
摘要:一.介绍 享元模式(Flyweight Pattern)。属于结构型模式。运用共享技术有效地支持大量细粒度的对象。 二.实现 当我们需要重复使用一个对象的时候,如果重复创建对象,会让内存消耗越来越大。能不能创建了第一次之后,如果需要再次使用,再直接使用之前已经创建的对象呢。让一个对象可以共享,享元模 阅读全文
posted @ 2021-01-22 23:17 shine声 阅读(277) 评论(0) 推荐(0) 编辑
摘要:一.介绍 组合模式(Composite Pattern)。属于结构型模式。将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。 二.实现 举个例子,我们写前端有用上html标签(抽象构件),这个标签分为双标签(树枝构件)和单标签(树叶构件),在写 阅读全文
posted @ 2021-01-21 16:11 shine声 阅读(261) 评论(0) 推荐(0) 编辑
摘要:一.介绍 桥接模式(Bridge Pattern)。属于结构型模式。将抽象部分与它的实现部分分离,使得它们可以独立地变化。 二.实现 举个例子,魔术师的法杖可以用口令施展法术攻击,有火法杖和冰法杖,法杖可以施展射击。法杖可以定为Wand抽象类,火法杖和冰法杖来继承抽象,这样火法杖和冰法杖就能实现射击 阅读全文
posted @ 2021-01-20 13:06 shine声 阅读(187) 评论(0) 推荐(0) 编辑
摘要:一.介绍 外观模式(Facade Pattern),也叫门面模式。属于结构型模式。为子系统中的一系列接口提供一个一致的界面,该模式提供了一个高层接口,这个接口使得这一子系统更加容易使用。 二.实现 外观模式是通过定义一个外观类将子类包装起来,来简化客户端所调用的方法。 /// <summary> / 阅读全文
posted @ 2021-01-19 11:48 shine声 阅读(152) 评论(0) 推荐(0) 编辑
摘要:一.介绍 代理模式(Proxy Pattern)。属于结构型模式。为其它对象提供一种代理以控制对该对象的访问。 二.实现 代理的概念很简单,就是想调用A类方法时,不直接调用,而是通过调用代理B类的方法,由B类方法去调用A类的方法。 /// <summary> /// 抽象主题角色 /// </sum 阅读全文
posted @ 2021-01-18 11:11 shine声 阅读(247) 评论(0) 推荐(0) 编辑
摘要:一.介绍 装饰者模式(Decorator Pattern)。属于结构型模式。动态地给一个对象添加额外的职责,就增加功能来说,装饰者模式比添加子类更为灵活。 二.实现 举个例子,定义一个类是一个人,那这个人能够打拳,一拳出来就可以造成物理伤害。后来这个人得到了一套外挂,用了外挂后,一拳出来不光可以造成 阅读全文
posted @ 2021-01-15 14:57 shine声 阅读(158) 评论(0) 推荐(0) 编辑
摘要:一.介绍 适配器模式(Adapter Pattern)。属于结构型模式。将一个类的接口转换成客户希望的另一个接口,Adapter模式使得原本因为接口不兼容而不能一起工作的那些类可以一起工作。 二.实现 客户调用Adaptee类的时候,希望Adaptee类可以提供一个指定名称的Request方法,而A 阅读全文
posted @ 2021-01-14 17:30 shine声 阅读(198) 评论(0) 推荐(0) 编辑
摘要:一.介绍 原型模式(Prototype Pattern)。属于创建型模式。用原型实例指向创建对象的种类,并且通过拷贝这些原型创建新的对象。 二.实现 简单来说,原型模式可以直接复制一个现有的对象,而不需要重新new操作去创建。这种创建分两种方式,浅拷贝和深拷贝。 1.浅拷贝 定义一个接口IPerso 阅读全文
posted @ 2021-01-13 14:59 shine声 阅读(317) 评论(0) 推荐(0) 编辑
摘要:一.介绍 建造者模式(Singleton Pattern)。属于创建型模式。将一个复杂对象的创建和它的表示分离,使得同样的构建过程可以创建不同的表示。 二.实现 举个例子,客户去买电脑,都是和电脑店的老板直接沟通的,然后老板再安排装机人员去安装电脑,最后安装完成就可以出货。这个流程符合用建造者模式去 阅读全文
posted @ 2021-01-12 10:58 shine声 阅读(262) 评论(0) 推荐(0) 编辑
摘要:一.介绍 单例模式(Singleton Pattern)。属于创建型模式。它保证一个类仅有一个实例,并提供一个访问它的全局访问点。 二.实现 结构为,一个私有的静态变量,用于存放该实例。私有的构造函数,防止外部直接创建该类实例。 创建单例模式有两种方式。饿汉式和懒汉式。 饿汉式是直接在程序中初始化一 阅读全文
posted @ 2021-01-08 11:20 shine声 阅读(939) 评论(0) 推荐(0) 编辑
摘要:一.介绍 抽象工厂模式(Abstract Factory Pattern)。属于创建型模式。它提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 二.场景 仍然是举例之前工厂模式使用的买水果例子。我们(调用方)去水果店(工厂接口)买水果,不同水果有不同的售货员(工厂类)负责,我们只 阅读全文
posted @ 2021-01-07 10:59 shine声 阅读(430) 评论(0) 推荐(0) 编辑
摘要:一.介绍 工厂方法模式(Factory Method Pattern)。属于创建型模式。定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。 二.场景 比如我们去水果店买水果,我们只要说出要买什么水果,水果店就会给我们什么水果。这里的水果店相当于一个工厂接口, 阅读全文
posted @ 2021-01-06 10:54 shine声 阅读(334) 评论(0) 推荐(0) 编辑
摘要:一.介绍 简单工厂模式(Simple Factory Pattern)又叫静态工厂方法(Static Factory Method)模式。它属于创建型模式,但它不属于23种设计模式的一种。简单来说,它的作用就是将类的实例化交给一个工厂类去执行。 二.场景 比如我们去水果店买水果,我们只要说出要买什么 阅读全文
posted @ 2021-01-05 10:28 shine声 阅读(447) 评论(0) 推荐(0) 编辑

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