设计模式
花样的尘埃
用心甘情愿的态度,去过随遇而安的生活.....
展开
-
外观模式(门面模式)--Facade
外观模式是一种使用频率非常高的结构型设计模式,它通过引入一个外观角色来简化客户端与子系统之间的交互,为复杂的子系统调用提供一个统一的入口,降低子系统与客户端的耦合度,且客户端调用非常方便。 1. 外观模式概述 不知道大家有没有比较过自己泡茶和去茶馆喝茶的区别,如果是自己泡茶需要自行准备茶叶、茶具和开水,如图1(A)所示,而去茶馆喝茶,最简单的方式就是跟茶馆服务员说原创 2017-06-14 22:21:38 · 314 阅读 · 0 评论 -
jdbc连mysql时报Data too long for column 'name' at row 1错误
mysql写数据时报了这个错误: Data too long for column 'message' at row 1,name字段在建的时候是text类型, 检查了多遍一直没解决问题, 后来百度了一下,结论就是: 数据中的字段编码与在java程序中写在的数据连接中的编码方式不一样。处理办法就是改编码方式, 让数据连接中的编码方式与数据库中的设置一样:数据库链接( 红色加粗部分)...原创 2018-08-22 17:09:21 · 974 阅读 · 0 评论 -
java设计模式总共有23种设计模式
设计模式主要分三个类型:创建型、结构型和行为型。 其中创建型有: 一、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点 二、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。 三、Factory Method,工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个...原创 2017-07-26 08:57:44 · 1584 阅读 · 0 评论 -
设计模式遵循的六大基本原则
目录:设计模式六大原则(1):单一职责原则设计模式六大原则(2):里氏替换原则设计模式六大原则(3):依赖倒置原则设计模式六大原则(4):接口隔离原则设计模式六大原则(5):迪米特法则设计模式六大原则(6):开闭原则设计模式六大原则(1):单一职责原则定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题原创 2017-06-14 22:16:01 · 492 阅读 · 0 评论 -
享元模式-Flyweight
Flyweight在拳击比赛中指最轻量级,即“蝇量级”或“雨量级”,这里选择使用“享元模式”的意译,是因为这样更能反映模式的用意。享元模式是对象的结构模式。享元模式以共享的方式高效地支持大量的细粒度对象。Java中的String类型 在JAVA语言中,String类型就是使用了享元模式。String对象是final类型,对象一旦创建就不可改变。在JAVA中字符串常量都是存在常原创 2017-06-14 22:19:34 · 327 阅读 · 0 评论 -
原型模式--Prototype
定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。类型:创建类模式类图:原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件:实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clo原创 2017-06-14 22:20:28 · 407 阅读 · 0 评论 -
装饰者模式-Decorator
装饰者模式:动态地将责任附加到对象上,若要扩展对象,装饰者模式提供了比继承更弹性的替代方案 要点:装饰者与被装饰者拥有共同的超类,继承的目的是继承类型,而不是行为装饰者包含一个超类的对象,这样,可以在被装饰者行为前或者行为后加上新的行为,甚至取代原有的行为装饰者会使程序中出现很多小类,增加使用难度使用场景:对象由主体+许多可选的部件或者功能构成,使用继承或者接口会产原创 2017-06-14 22:22:58 · 311 阅读 · 0 评论 -
组合模式-Component
一、组合模式简介(Brief Introduction)组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。 二、解决的问题(What To Solve)解决整合与部分可以被一致对待问题。三、组合模式分析(Analysis)1、组合模式结构Component类:组合中的对原创 2017-06-14 22:23:46 · 725 阅读 · 0 评论 -
Bridge模式
摘要:本文首先解释了Bridge模式的定义。然后通过一个例子,一步步将Bridge模式实现。在一切开始之前,请允许我先给出三条经典名言:Design to interfaces. Find what varies and encapsulate it. Favor composition over inheritance.后面我们会反复,并且是反反复复的用到。我认为在做设计的时候这三句话要牢牢原创 2017-06-14 22:25:41 · 404 阅读 · 0 评论 -
java建造者模式(Builder)
建造者模式针对复杂对象由于需求变化,造成组成它的各部分经常变动,但组成的方式或算法却固定,为了分离这种固定和变化部分,可用建造者模式。分为三部分:其中有客户端clien。指导者director,指导者负责固定的组合方式。建造者builder,抽象类,其负责产生复杂对象的各个经常变化的组成部分以及返回最终结果,要构建的不同对象都是该类的实现类。列子,去KFC有原创 2017-06-14 22:28:07 · 419 阅读 · 0 评论 -
适配器模式
1. 概述 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。2. 解决的问题 即Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。3. 模式中的角色 3.1 目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。原创 2017-06-14 22:26:33 · 412 阅读 · 0 评论 -
Bridge-桥接模式
在开始学java的时候老师讲到继承的时候,总是喜欢用一个例子来讲解,那就是画图,这里有一个画笔,可以画正方形、长方形、圆形(这个大家都知道怎么做吧,我就不解释了)。但是现在我们需要给这些形状进行上色,这里有三种颜色:白色、灰色、黑色。这里我们可以画出3*3=9中图形:白色正方形、白色长方形、白色圆形。。。。。。到这里了我们几乎到知道了这里存在两种解决方案: 方案一:为每种形状都提原创 2017-06-14 22:27:19 · 521 阅读 · 0 评论 -
Excel表格导入时时间格式出现毫秒数和时间格式,字符串格式解决方式
Excel表格导入时时间格式出现毫秒数和时间格式,字符串格式解决方式,获取元素Cell有个getCellType方法判断是什么类型再进行转换。Excel 将信息收集到后,通过数据上传的方式,将数据放到数据库中,而如果在操作的过程中没有把excel的数据类型对应的获取,就会报错,下面写了一个方法将row的每一个cell转换成String类型,int type = cell.getCellT...原创 2019-06-12 10:25:28 · 3295 阅读 · 0 评论