设计模式
wangxiaoming
博客是很好的总结和记录工具,如果有问题,来不及回复,关注程序员奇点,获取我的联系方式,向我提问,也可以给我发送邮件,联系 1275801617@qq.com
展开
-
设计模式|抽象工厂
设计模式|抽象工厂意图抽象工厂提供一个接口,用来创建相关的对象家族,而不是和工厂方法一样,创建一个对象。抽象工厂抽象工厂模式的各个角色:抽象工厂角色(Factory),工厂方法模式的核心,是具体工厂角色必须实现的接口或者必须继承父类。在 Java 类中他是抽象类或者接口来实现的。具体工厂角色(ConcreteFactory),这个是实现抽象工厂接口的具体工厂类。抽象产品角色(Product):抽象工厂模式所创建对象的基类,也就是产品对象共同父类。具体产品角色(ConcreteProduct原创 2020-11-14 13:17:16 · 262 阅读 · 0 评论 -
设计模式|适配器
设计模式|适配器意图适配器模式的设计意图是将一个类的接口转换成希望的另外一个接口。适配器模式使得原本接口不兼容的类可以在一起工作。适配器模式分成,对象适配器和类适配器两种模式。对象适配器中, 适配器与适配者之间是关联关系,在类适配器模式中,适配器与适配者之间是继承关系。类适配器通过继承来完成适配,对象适配器则是通过关联来完成 。适配器设计模式包含哪些角色Target (目标抽象类)目标抽象类定义客户端所需接口,可以是一个抽象类或者接口,也可以具体类。Adapter(适配器类)适配原创 2020-11-10 11:43:27 · 309 阅读 · 0 评论 -
设计模式-简单工厂
设计模式-简单工厂使用工厂方法模式可以应付我们遇到的大部分需求,当产品种类变多的时候,这个时候会出现大量的工厂类,怎么解决这个问题? 可以对产品树上类似的种类使用简单工厂模式来实现。也就是说 工厂方法+简单工厂= 抽象工厂。使用设计模式,主要是为了程序的扩展性。为什么要使用工厂模式:编码时不能预见要创建哪些类的实例。系统不应该依赖产品类如何被创建,组合和表达的细节。简单工厂简单工厂只有一个工厂,也一个产品基类,不同的产品可以继承这个产品基类。简单工厂代码实现:public inter原创 2020-11-08 12:52:40 · 272 阅读 · 0 评论 -
设计模式-工厂方法
设计模式-工厂方法设计模式工厂方法(Factory Method)定义了一个创建对象的接口,但由子类决定要实例化哪个类。工厂方法把实例化操作推迟到子类。工厂方法类图简单工厂中,创建对象的另一个类,在工厂方法中,是由子类来创建对象。主要角色抽象工厂角色:这个工厂方法模式的核心,它与应用程序无关,是具体工厂角色必须实现的接口或者必须继承的父类。具体工厂角色: 含有和具体业务逻辑有关代码,由应用程序调用以创建具体产品的对象。抽象产品角色:它是具体产品继承的父类或者是实现的接口。具体产品角色原创 2020-11-07 12:51:38 · 214 阅读 · 0 评论 -
设计模式-观察者模式
设计模式-观察者模式在我们的程序中,可能需要在某些数据变化的时候,其他类做出一些响应。不能开一个线程,然后每隔一段时间去检查数据是否有变化。更希望的是当一些内数据变化时,主动推送变化。什么是观察者模式对象之间一对多依赖,当一个对象状态改变时,它的依赖都会收到通知并更新状态。观察者模式类图观察者设计模式包含哪些角色?Subject: 抽象主题(抽象被观察者),抽象主题角色把所有观察者对象保存到一个集合中,每个主题都可以有任意数量的观察者,抽象主题提供接口,供增加和删除观察者。ConCret原创 2020-11-05 11:17:09 · 310 阅读 · 0 评论 -
高并发系统通用设计方法是什么?
高并发系统通用设计方法是什么?高并发代表着大流量,举个例子,从古至今对黄河的治理,大禹治水是拓宽河道,清除淤泥,让水流更通畅,流向大海。都江堰是通过引流的方式将岷江之水分流到多个支流,分担水流压力。三峡门和葛洲坝采用的是建造水库的方式将水储存起来然后把水库中的水缓缓排出去,提高下游抗洪能力。高并发系统的设计三种思路上面的例子也提到了三个例子,其实代表了高并发系统设计的三种思路。Scale-out(横向扩展):分而治之的思想,在算法中也常见,这是一种常见的高并发系统设计思路,采用分布式部署方案,将原创 2020-05-26 19:19:16 · 817 阅读 · 0 评论 -
【深入理解设计模式】HeadFirst-- 适配器模式
HeadFirst-- 适配器模式假设有缺少火鸡,用鸭子来冒充,需要做个DuckAdapter来生成火鸡Turkey。鸭子接口:/** * 类说明: * 适配器模式,想让鸭子变成火鸡怎么变,通过一个适配器 * * <pre> * Modify Information: * Author Date Des...原创 2019-07-25 10:29:16 · 468 阅读 · 0 评论 -
设计模式--工厂方法模式
设计模式--工厂方法模式工厂方法模式是在简单工厂模式上都优化,不用再去写Factoty 接口,新建一个appleFactory 即可, 实现开放(可以扩展)封闭(不需要再去改原先都代码)原则:具体看代码:共同接口package FactoryMethod;/** * 类说明 * * * Modify Information: * Author原创 2017-02-07 13:05:42 · 342 阅读 · 0 评论 -
【深入理解设计模式】HeadFirst --策略模式
HeadFirst --策略模式本来是要做一个鸭子应用的:1. 很容易想到用继承, Duck基类中有很多方法,子类只要重写父类方法即可;这样有些问题:比如基类中增加一个方法fly ,那么所有的子类都有了fly()方法,但是并不是需要所有的子类都有这个方法的。extends 只要是抽象方法,都是要求子类去实现的,每增加一个子类就要被迫去实现 父类所有...原创 2019-07-25 10:29:42 · 703 阅读 · 0 评论 -
设计模式--抽象工厂
设计模式--抽象工厂抽象工厂的特点是产品不只一个,例如,这个工厂中可生产 食物 ,武器,交通工具在抽象工厂中,可以 有产品A接口 ,产品B接口,产品C接口 等等。。。具体看抽通过实例看抽象工厂的优势1、首先声明一个抽象工厂:public abstract class AbstractFactory { public abstract Vechile crea原创 2016-11-13 20:04:30 · 438 阅读 · 0 评论 -
设计模式--简单工厂
设计模式--简单工厂创建Apple产品:package SimpleFactory;/** * 类说明 * * * Modify Information: * Author Date Description * ============ =========== ============================原创 2017-02-04 18:33:55 · 344 阅读 · 0 评论