- 博客(22)
- 资源 (12)
- 问答 (1)
- 收藏
- 关注
原创 访问者模式(Visitor Pattern)
访问者模式在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。优点:符合单一职责原则。秀的扩展性。灵活性。缺点:具体元素对访问者公布细节,违反了迪米特原则。具体元素...
2019-10-21 14:53:09 207
原创 桥接(Bridge Pattern)
桥接模式是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。我们通过下面的实例来演示桥接模式(Bridge Pattern)的用法。UML Class Diagrampackage brid...
2019-10-21 12:48:21 335
原创 组合模式(Composite Pattern)
组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。我们通过下面的实例来演示组合模式的用法。实例演示了一个组织中员工的层次结构。应用实例:算术表达...
2019-10-19 21:26:59 236
原创 责任链模式(Chain of Responsibility Pattern)
顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。应用实例:红楼梦中的"击鼓传花"。JS 中的事件冒...
2019-10-19 21:15:39 283
原创 原型模式(Prototype Pattern)
原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据...
2019-10-17 16:46:37 156
原创 中介者模式(Mediator Pattern)
中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。应用实例:中国加入 WTO 之前是各个国家相互贸易,结构复杂,现在是各个国家通过 WTO 来互相贸易。机场调度系统。MVC 框架,其中C(控制器)就是 M(模型)和 V(视图)的中介者。优...
2019-10-17 15:25:43 190
原创 抽象工厂模式(Abstract Factory Pattern)
抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。优点:当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族...
2019-10-15 16:48:34 153
原创 在IntelliJ IDEA上使用Maven创建Spring项目HelloWorld
在IntelliJ IDEA上使用Maven创建Spring项目HelloWorld新建一个Maven 项目下一步选择Maven,OK.项目结构pom.xml <dependency> <groupId>org.springframework</groupId> <artifactId>sp...
2019-10-15 10:24:31 656
原创 享元模式(Flyweight Pattern)
享元模式享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式应用实例:JAVA 中的 String,如果有则返回,如果没有则创建一个字符串保存在字符串缓存池里面。数据库的数据池。优点:大大减少对象的创建,降低系统的内存,使效率提高。缺点:提高了系统的...
2019-10-12 21:42:40 154
原创 建造者模式(Builder Pattern)
建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。应用实例: 1、去肯德基,汉堡、可乐、薯条、炸鸡翅等是不变的,而其组合是经常变化的,生成出所谓的"套餐"。 2、JAVA 中的 StringBui...
2019-10-12 19:01:12 160
原创 Mybatis入门(一)
利用IDEA创建Mybatis的入门案例,配置pom.xml<dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> ...
2019-10-12 17:56:41 135
原创 状态模式(State Pattern)
在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。优点:封装了转换规则。枚举可能的状态,在枚举状态之前需要确定状态种类。将所有与某个状态有关的行为放到一个类中,并且可以方便地增加新的状态,只需要改变对象状态即可改变对象的行为。允许...
2019-10-11 10:28:26 161
原创 备忘录模式(Memento Pattern)
备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为型模式。应用实例:后悔药。打游戏时的存档。Windows 里的 ctri + z。IE 中的后退。数据库的事务管理。优点:给用户提供了一种可以恢复状态的机制,可以使用户能够比较方便地回到某个历史的状态。实现了信息的封装,使得用户不需要关心状态的保存细节。缺点:...
2019-10-10 15:45:33 171
原创 工厂模式(Factory Method Pattern)
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。、优点:一个调用者想创建一个对象,只要知道其名称就可以了。扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。屏蔽产品的具体实现,调用...
2019-10-10 13:56:33 150
原创 外观模式(Facade Pattern)
外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。UML Class Diagrampackage robotparts;/** * Created by DEL...
2019-10-09 16:42:45 143
原创 迭代器模式(Iterator Pattern)
迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。迭代器模式属于行为型模式。UML Class Diagram...
2019-10-09 16:03:07 252
原创 命令模式(Command Pattern)
命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。UML Class DiagramCodepackage command.pattern;/** * Created by DELL * Date: 2019/10/...
2019-10-09 09:07:58 180
原创 MySql 8.0使用mysql三
加载示例数据下载压缩文件shell>wget https://codeload.github.com/datacharmer/test_db/zip/master-O master.zipshell>unzip master.zipshell>cd test_db-mastershell>mysql -u root -p <employees.s...
2019-10-06 23:56:38 136
原创 MySql 8.0使用mysql二
插入、更新删除行在完成 MySql 8.0使用mysql 一的前提下插入insert ignore into `company`.`customers`(first_name,last_name,country)values('Mike','Christensen','USA'),('Andy','Hollands','Australia'),('RAVi','Vedantam','...
2019-10-06 21:32:44 149
原创 MySql 8.0使用mysql 一
使用mysql 一使用命令行连接mysql连接数库mysql -h [主机ip] -u [用户] -p输入密码如图:退出mysql 使用exit 或者 Ctrl + D撤销命令 Ctrl + C 或者键入 \Dselect \cselect ^c创建数据库create database company;create database `my.contacts`;反...
2019-10-06 20:34:11 386
Mybatis项目代码自动生成工具.zip
2020-09-27
master.zip
2019-10-07
Maven3.6版
2019-02-19
客户关系管理
2016-10-25
客户信息管理需求
2016-10-23
客户管理系统
2016-10-23
myeclipset 中.sql文件这里的连接怎样配置?
2016-09-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人