设计模式
文章平均质量分 91
六点半就起
山不向我走来,我便向山走去
展开
-
外观模式-Facade Pattern
外观模式-Facade Pattern外观模式是一种使用频率非常高的结构型设计模式,它通过引入一个外观角色来简化客户端与子系统之间的交互,为复杂的子系统调用提供一个统一的入口,降低子系统与客户端的耦合度,且客户端调用非常方便。不知道大家有没有比较过自己泡茶和去茶馆喝茶的区别,如果是自己泡茶需要自行准备茶叶、茶具和开水,如图(A)所示,而去茶馆喝茶,最简单的方式就是跟茶馆服务员说想要一杯什么样的茶,是铁观音、碧螺春还是西湖龙井?正因为茶馆有服务员,顾客无须直接和茶叶、茶具、开水等交互,整个泡茶过程由原创 2021-03-29 21:52:38 · 187 阅读 · 0 评论 -
组合模式-Composite Pattern
组合模式-Composite Pattern树形结构在软件中随处可见,例如操作系统中的目录结构、应用软件中的菜单、办公系统中的公司组织结构等等,如何运用面向对象的方式来处理这种树形结构是组合模式需要解决的问题,组合模式通过一种巧妙的设计方案使得用户可以一致性地处理整个树形结构或者树形结构的一部分,也可以一致性地处理树形结构中的叶子节点(不包含子节点的节点)和容器节点(包含子节点的节点)。下面将学习这种用于处理树形结构的组合模式。开发一个杀毒(AntiVirus)软件,该软件既可以对某个文件夹(Folde原创 2021-03-29 15:00:56 · 154 阅读 · 0 评论 -
适配器模式-Adapter Pattern
适配器模式-Adapter Pattern适配器模式(Adapter Pattern):将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。对象适配器模式结构如图所示:在对象适配器模式结构图中包含如下几个角色:● Target(目标抽象类):目标抽象类定义客户所需接口,可以是一个抽象类或接口,也可以是具体类。● Adapter(适配器类):适配器可以调用另一个接口,作为一个转换器,对原创 2021-03-28 17:37:51 · 192 阅读 · 0 评论 -
单例模式-Singleton Pattern
单例模式-Singleton Pattern确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。单例模式是一种对象创建型模式。单例模式有三个要点:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。单例模式的结构如下图所:...原创 2021-03-26 17:40:06 · 117 阅读 · 0 评论 -
抽象工厂模式-Abstract Factory Pattern
抽象工厂模式-Abstract Factory Pattern原创 2021-03-24 11:48:50 · 12382 阅读 · 0 评论 -
工厂方法模式-Factory Method Pattern
工厂方法模式-Factory Method Pattern工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类。工厂方法模式又简称为工厂模式(Factory Pattern),又称作虚拟构造器模式(Virtual Constructor Pattern)或多态工厂模式(Polymorphic Factory Pattern)。工厂方法模式是一种类创建型模式这是它的结构图:它包含四个角色:● P原创 2021-03-23 14:05:33 · 178 阅读 · 0 评论 -
简单工厂模式-Simple Factory Pattern
简单工厂模式-Simple Factory Pattern定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态(static)方法,因此简单工厂模式又被称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。简单工厂模式的要点在于:当你需要什么,只需要传入一个正确的参数,就可以获取你所需要的对象,而无须知道其创建细节。简单工厂模式结构比较简单,其核心是工厂类的设计,其结构如图所示:在简单工原创 2021-03-19 18:11:12 · 138 阅读 · 0 评论 -
Java设计模式
Java设计模式最近在学习Java的设计模式,做个笔记~面向对象设计的几个原则1.单一职责原则一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因好抽象啊,但是有例子,如下CustomerDataChart类:getConnection()方法用于连接数据库,findCustomers()用于查询所有的客户信息,createChart()用于创建图表,displayChart()用于显示图表。现在用单一原则将其进行重构(1) DBUtil:负责原创 2021-03-19 16:51:11 · 444 阅读 · 1 评论