![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
孤竹彧
一个想进步,又控制不住自己的小码农
展开
-
设计模式之代理模式(python实现)
原博主地址:(https://blog.csdn.net/LoveLion/article/details/17517213)代理模式:给某一个对象提供一个代理或占位符,并由代理对象来控制对原对象的访问。Proxy Pattern: Provide a surrogate or placeholder for another object to control access to it.代理...转载 2019-02-21 13:57:00 · 340 阅读 · 0 评论 -
设计模式之桥接模式
原博主地址:(https://blog.csdn.net/LoveLion/article/details/17517213)桥接模式:就是把两个功能单独开来,比如节目要在电视台播出,选中电视台才能选节目,如果按原来,要准备n*m个方法,但是现在只有准备n个电视台和m个节目就行,具体怎么播出自由搭配。桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化...转载 2019-01-23 11:20:52 · 124 阅读 · 0 评论 -
设计模式之组合模式
原博主地址:(https://blog.csdn.net/LoveLion/article/details/17517213)其实到现在没有理解这模式有什么特别,不就是用抽象类吗?不过还是用了代码来实现组合模式(Composite Pattern):组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式...原创 2019-01-27 17:42:48 · 94 阅读 · 0 评论 -
设计模式之装饰模式
原博主地址:(https://blog.csdn.net/LoveLion/article/details/17517213)装饰模式(Decorator Pattern):动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。装饰模式是一种对象结构型模式。装饰接口package test2019.mon01.装饰者模式;/** * Filename:...转载 2019-01-28 11:30:35 · 77 阅读 · 0 评论 -
设计模式之迭代器模式
原博主地址:(https://blog.csdn.net/LoveLion/article/details/17517213)迭代器模式(Iterator Pattern):提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示,其别名为游标(Cursor)。迭代器模式是一种对象行为型模式。使用迭代器模式相当于把存储和遍历区分开来迭代器抽象类public interface Abstra...转载 2019-03-05 20:37:34 · 78 阅读 · 0 评论 -
设计模式之享元模式
原博主地址:(https://blog.csdn.net/LoveLion/article/details/17517213)享元模式(Flyweight Pattern):运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种对象结构型模式。感...转载 2019-02-21 11:29:05 · 73 阅读 · 0 评论 -
设计模式之观察者模式(python实现)
原博主地址:(https://blog.csdn.net/LoveLion/article/details/17517213)观察者模式(Observer Pattern):定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式的别名包括发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监...转载 2019-03-15 14:10:27 · 169 阅读 · 0 评论 -
设计模式之状态模式
状态模式就是一个实体有多个状态,不同状态的实现是不同的,实体通过状态类来实现操作。缺点就是每个状态要有实现,意味着如果新加状态,代码会有改动,不满足开闭原则状态模式(State Pattern):允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。其别名为状态对象(Objects for States),状态模式是一种对象行为型模式。状态分为开会、工作、休息三个状态休息时...转载 2019-03-20 11:02:56 · 143 阅读 · 0 评论 -
设计模式之命令模式(python实现)
原博主地址:(https://blog.csdn.net/LoveLion/article/details/17517213)命令模式(Command Pattern):将一个请求封装为一个对象,从而让我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。窗口类...转载 2019-03-18 18:27:55 · 196 阅读 · 0 评论 -
设计模式之适配者模式
原博主地址:(https://blog.csdn.net/LoveLion/article/details/17517213) 适配者模式已经不属于创建型模式,而是结构型模式 在我感觉,适配者模式就是创建一个类,然后挑选方法 比如:a方法我想用A类的,b方法我想用C类的…如果没有模式,每次使用都要建好多类,很麻烦,适配者的作用就是直接使用一个类来把这些操作整合在一起,你只有使用适配者类就行...转载 2018-08-15 10:54:53 · 167 阅读 · 0 评论 -
设计模式之建造者模式
原博主地址:(https://blog.csdn.net/LoveLion/article/details/17517213) 建造者模式是唯一不需要产品建子类的创建型(当然,你要用子类表示也可以) 由建造者建子类,建造者父类只是要求必须要设置哪些产品属性,由子类去实现。 当然Director(指挥者)是可以有也可以无的,放在建造者中去实现也可以啊。 钩子方法,定义一个钩子方法,在创建对...转载 2018-08-15 10:00:31 · 109 阅读 · 0 评论 -
设计模式之策略者模式
原博主地址:(https://blog.csdn.net/LoveLion/article/details/17517213)策略模式(Strategy Pattern):定义一系列算法类,将每一个算法封装起来,并让它们可以相互替换,策略模式让算法独立于使用它的客户而变化,也称为政策模式(Policy)。策略模式是一种对象行为型模式。票类package test2019.mon02.策略模式...转载 2019-02-21 17:57:29 · 86 阅读 · 0 评论 -
设计模式之外观模式
原博主地址:(https://blog.csdn.net/LoveLion/article/details/17517213)外观者模式,就是把简单任务拆分,各司其职,所以就没有写例子。外观模式:为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。不过通过这事,我把我之前写的加密进行整改,不是真的外观者模式。加密类package tes...转载 2019-01-28 16:32:26 · 88 阅读 · 0 评论 -
设计模式之面向对象设计原则及模式关系
这是原博主地址,之后所有的笔记都是在读了原博主文章之后写的。 (https://blog.csdn.net/LoveLion/article/details/17517213)七大原则是: 单一职责原则 开闭原则 里氏代换原则 依赖倒转原则 接口隔离原则 合成复用原则 迪米特法则单一职责原则(Single Responsibility Principle, SRP):一个类...转载 2018-08-10 17:01:08 · 541 阅读 · 0 评论 -
设计模式之简单工厂模式
原博主地址:(https://blog.csdn.net/LoveLion/article/details/17517213) 1:简单工厂模式: 就是建个工厂类,然后在类里面进行判断进行选择初始化哪一个子类(或者是实现类)。 简单工厂模式(Simple Factory Pattern):定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模...转载 2018-08-14 14:17:17 · 103 阅读 · 0 评论 -
设计模式之工厂模式
原博主地址:(https://blog.csdn.net/LoveLion/article/details/17517213) 和简单工厂模式的区别就是,工厂类不再是一个类,而是一个超类,然后由子类来创建对象,每个子类建一个。 感觉老没劲了,这样就相当于你需要一个子类,就要先给工厂类创建一个子类。 但是,如果这个工厂类里创建很多对象的话,好像就有些用处 工厂方法模式(Factory Me...转载 2018-08-14 14:43:18 · 80 阅读 · 0 评论 -
设计模式之抽象工厂模式
原博主地址:(https://blog.csdn.net/LoveLion/article/details/17517213) 感觉和工厂模式没区别,只是产品不再是一个,那我在上一篇的理解有问题,我说:“如果这个工厂类里创建很多对象的话,好像就有些用处 ”,但是现在有多个产品不叫工厂模式,叫抽象工厂模式,所以,除了可以用配置文件加反射就能获得产品外,我也想不到什么优点。 不过抽象工厂模式还是...转载 2018-08-14 15:15:13 · 91 阅读 · 0 评论 -
设计模式之单例模式
原博主地址:(https://blog.csdn.net/LoveLion/article/details/17517213) 单例模式,原本以为这是我唯一熟悉的设计模式,后来才发现,我之前做的单例都是线程不安全的。 懒汉模式占内存 饿汉模式第一次慢 IoDH模式双全 单例模式(Singleton Pattern):确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个...转载 2018-08-14 15:58:50 · 79 阅读 · 0 评论 -
设计模式之原型模式
原博主地址:(https://blog.csdn.net/LoveLion/article/details/17517213) 其实就是克隆 浅克隆,直接使用super.clone(),结果就是如果属性有非基础类型的,会出现地址一致。 深克隆,利用序列化,先写出来,然后再读。 原型模式(Prototype Pattern):使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对...转载 2018-08-14 16:54:42 · 122 阅读 · 0 评论 -
设计模式之模板方法模式
原博主地址:(https://blog.csdn.net/LoveLion/article/details/17517213)在抽象类中把要操作的事情全都规定好,有些在抽象类中做完,有些在实现类中进行模板方法模式:定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。比如:/** * @param mvo ...转载 2019-03-19 14:14:50 · 75 阅读 · 0 评论