在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → java23种设计模式的demo.zip

java23种设计模式的demo.zip

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:0.24M
  • 下载次数:5
  • 浏览次数:57
  • 发布时间:2021-12-09
  • 实例类别:一般编程问题
  • 发 布 人:js2021
  • 文件格式:.zip
  • 所需积分:2
 

实例介绍

【实例简介】
《Design Patterns》Complete Implementation (by Java) Author: Jerry Shen Version : 0.5 此目录里包括了一书中所有23种设计模式的实现(Java 版)源码 关于代码的几点说明: 1. 代码为根据个人对Design Pattern的学习理解写出(>90%原创), 难免有错误的地方,希望大家指出。 2. 每个Pattern均是一个目录,其目录名即是Pattern的名字, 所有代码用JDeveloper 9i 和JBuilder 6.0编写,并编译、运行通过。 3. 示例中的类,方法的命名规则和各个对象间的协作,基本同原书, 所以可以在看书的同时加以参照。 4. 为图方便,绝大多数示例的效果是用printf表现之。 虽然不能体现Pattern的威力,效果也不够直观,但希望依然能体现Pattern的 骨架,比如一个Pattern的类是如何组织的,各个对象间的协作又是怎样。 5. 所有代码是对Pattern做了相当的简化,有许多深层次的考虑希望大家一起挖掘。 6. 鉴于本人水平和时间也较紧张,代码写的比较烂,设计中考虑不周,效率不高 ,甚至错误的地方还请大家指出。 对于后续版本的设想: 1. 增加对每个模式的UML类图,对象图,交互图等。 2. 修正现在的代码。 3. 重新设计一些解决特定问题的示例,并使示例可视化。 4. 增加对每个示例的文字详细说明。 5. 设计一些同时含有多种模式的示例。 6. 考虑C++的实现版本。
【实例截图】
【核心代码】
4744302542928675392.zip
├── Adapter
│   ├── Adapter.jpr
│   ├── classes
│   │   ├── Adapter.cdi
│   │   ├── connections.xml
│   │   ├── Shape.class
│   │   ├── Text.class
│   │   ├── TextShapeClass.class
│   │   └── TextShapeObject.class
│   └── src
│   ├── Shape.java
│   ├── Text.java
│   ├── TextShapeClass.java
│   └── TextShapeObject.java
├── Bridge
│   ├── Bridge.jpr
│   ├── classes
│   │   ├── Bridge.cdi
│   │   ├── connections.xml
│   │   ├── Test.class
│   │   ├── TextBold.class
│   │   ├── Text.class
│   │   ├── TextImp.class
│   │   ├── TextImpLinux.class
│   │   ├── TextImpMac.class
│   │   └── TextItalic.class
│   └── src
│   ├── Test.java
│   ├── TextBold.java
│   ├── TextImp.java
│   ├── TextImpLinux.java
│   ├── TextImpMac.java
│   ├── TextItalic.java
│   └── Text.java
├── Builder
│   ├── Builder.jpr
│   ├── classes
│   │   ├── Builder.cdi
│   │   ├── ConcreteHouseBuilderA.class
│   │   ├── connections.xml
│   │   ├── HouseBuilder.class
│   │   ├── House.class
│   │   ├── HouseDirector.class
│   │   └── TestClient.class
│   └── src
│   ├── ConcreteHouseBuilderA.java
│   ├── HouseBuilder.java
│   ├── HouseDirector.java
│   ├── House.java
│   └── TestClient.java
├── ChainOfResponsibility
│   ├── ChainOfResponsibility.jpr
│   ├── classes
│   │   ├── Chain.class
│   │   ├── ChainOfResponsibility.cdi
│   │   ├── connections.xml
│   │   ├── Manager.class
│   │   ├── Others.class
│   │   ├── Programmer.class
│   │   ├── ProjectManager.class
│   │   ├── QA.class
│   │   └── Test.class
│   └── src
│   ├── Chain.java
│   ├── Manager.java
│   ├── Others.java
│   ├── Programmer.java
│   ├── ProjectManager.java
│   ├── QA.java
│   └── Test.java
├── Command
│   ├── classes
│   │   ├── Command.cdi
│   │   ├── Command.class
│   │   ├── connections.xml
│   │   ├── Fan.class
│   │   ├── FanOffCommand.class
│   │   ├── FanOnCommand.class
│   │   ├── Light.class
│   │   ├── LightOffCommand.class
│   │   ├── LightOnCommand.class
│   │   ├── Switch.class
│   │   └── TestCommand.class
│   ├── Command.java
│   ├── Command.jpr
│   └── TestCommand.java
├── Composite
│   ├── classes
│   │   ├── Composite.cdi
│   │   ├── connections.xml
│   │   ├── Employee.class
│   │   ├── empTree.class
│   │   ├── JxFrame$1.class
│   │   └── JxFrame.class
│   ├── Composite.jpr
│   └── src
│   ├── Employee.java
│   ├── empTree.java
│   └── JxFrame.java
├── Decorator
│   ├── classes
│   │   ├── Component.class
│   │   ├── ConcreteComponent.class
│   │   ├── ConcreteDecoratorA.class
│   │   ├── connections.xml
│   │   ├── Decorator.cdi
│   │   ├── Decorator.class
│   │   ├── SwingApp.class
│   │   ├── TableBubbleSortDecorator.class
│   │   ├── TableFilterDecorator.class
│   │   ├── TableModelDecorator.class
│   │   ├── TableSortDecorator.class
│   │   ├── Test$1.class
│   │   ├── Test1.class
│   │   └── Test.class
│   ├── Decorator.jpr
│   └── src
│   ├── Component.java
│   ├── ConcreteComponent.java
│   ├── ConcreteDecoratorA.java
│   ├── Decorator.java
│   ├── TableBubbleSortDecorator.java
│   ├── TableFilterDecorator.java
│   ├── TableModelDecorator.java
│   ├── TableSortDecorator.java
│   ├── Test1.java
│   └── Test.java
├── Facade
│   ├── classes
│   │   ├── connections.xml
│   │   ├── Door.class
│   │   ├── Facade.cdi
│   │   ├── FacadeRoom.class
│   │   ├── Test.class
│   │   └── Wall.class
│   ├── Facade.jpr
│   └── src
│   └── mypackage
│   └── Test.java
├── FactoryMethod
│   ├── classes
│   │   ├── connections.xml
│   │   ├── Factory.class
│   │   ├── FactoryMethod.cdi
│   │   ├── WindowBig.class
│   │   ├── Window.class
│   │   └── WindowSmall.class
│   ├── FactoryMethod.jpr
│   └── src
│   ├── Factory.java
│   ├── WindowBig.java
│   ├── Window.java
│   └── WindowSmall.java
├── FlyWeight
│   ├── classes
│   │   ├── ConcreteFont.class
│   │   ├── connections.xml
│   │   ├── FlyWeight.cdi
│   │   ├── Font.class
│   │   ├── FontFactory.class
│   │   └── Test.class
│   ├── FlyWeight.jpr
│   └── src
│   ├── ConcreteFont.java
│   ├── FontFactory.java
│   ├── Font.java
│   └── Test.java
├── Interpreter
│   ├── classes
│   │   ├── AndExp.class
│   │   ├── BooleanExp.class
│   │   ├── connections.xml
│   │   ├── Context.class
│   │   ├── Interpreter.cdi
│   │   ├── NotExp.class
│   │   ├── OrExp.class
│   │   ├── Test.class
│   │   └── VariableExp.class
│   ├── Interpreter.jpr
│   └── src
│   ├── AndExp.java
│   ├── Context.java
│   ├── mypackage
│   │   └── BooleanExp.java
│   ├── NotExp.java
│   ├── OrExp.java
│   ├── Test.java
│   └── VariableExp.java
├── Iterator
│   ├── classes
│   │   ├── Aggregate.class
│   │   ├── connections.xml
│   │   ├── DataVector.class
│   │   ├── Iterator.cdi
│   │   ├── Iterator.class
│   │   ├── Test.class
│   │   └── VectorIterator.class
│   ├── Iterator.jpr
│   └── src
│   ├── Aggregate.java
│   ├── data.txt
│   ├── DataVector.java
│   ├── Iterator.java
│   ├── Test.java
│   └── VectorIterator.java
├── Mediator
│   ├── classes
│   │   ├── ColleagueA.class
│   │   ├── ColleagueB.class
│   │   ├── ColleagueC.class
│   │   ├── Colleague.class
│   │   ├── ConcreteMediator.class
│   │   ├── connections.xml
│   │   ├── Mediator.cdi
│   │   ├── Mediator.class
│   │   └── Test.class
│   ├── Mediator.jpr
│   └── src
│   ├── ColleagueA.java
│   ├── ColleagueB.java
│   ├── ColleagueC.java
│   ├── Colleague.java
│   ├── ConcreteMediator.java
│   ├── Mediator.java
│   └── Test.java
├── Memento
│   ├── classes
│   │   ├── CaretakerTest.class
│   │   ├── connections.xml
│   │   ├── Memento.cdi
│   │   ├── TextMemento.class
│   │   └── TextOriginator.class
│   ├── Memento.jpr
│   └── src
│   ├── CaretakerTest.java
│   └── TextOriginator.java
├── MyJavaWorks.jws
├── Observer
│   ├── classes
│   │   ├── ConcreteSubject.class
│   │   ├── connections.xml
│   │   ├── ObserverA.class
│   │   ├── ObserverB.class
│   │   ├── Observer.cdi
│   │   ├── Observer.class
│   │   ├── Subject.class
│   │   └── Test.class
│   ├── Observer.jpr
│   └── src
│   ├── ConcreteSubject.java
│   ├── ObserverA.java
│   ├── ObserverB.java
│   ├── Observer.java
│   ├── Subject.java
│   └── Test.java
├── patterns
│   └── abstract_factory
│   ├── AbstractFactory.jpr
│   ├── classes
│   │   ├── AbstractFactory.cdi
│   │   ├── BedRoom.class
│   │   ├── BedRoomDoor.class
│   │   ├── BedRoomWall.class
│   │   ├── connections.xml
│   │   ├── Door.class
│   │   ├── LivingRoom.class
│   │   ├── LivingRoomDoor.class
│   │   ├── LivingRoomWall.class
│   │   ├── Room.class
│   │   ├── RoomMaker.class
│   │   └── Wall.class
│   └── src
│   ├── BedRoomDoor.java
│   ├── BedRoom.java
│   ├── BedRoomWall.java
│   ├── Door.java
│   ├── LivingRoomDoor.java
│   ├── LivingRoom.java
│   ├── LivingRoomWall.java
│   ├── Room.java
│   ├── RoomMaker.java
│   └── Wall.java
├── Prototype
│   ├── classes
│   │   ├── connections.xml
│   │   ├── Graphic.class
│   │   ├── GraphicTool.class
│   │   ├── IGraphic.class
│   │   ├── LineSymbol.class
│   │   ├── NoteSymbol.class
│   │   ├── prototype.cdi
│   │   └── SymbolLoader.class
│   ├── prototype.jpr
│   └── src
│   ├── GraphicTool.java
│   ├── LineSymbol.java
│   ├── mypackage
│   │   ├── Graphic.java
│   │   └── IGraphic.java
│   ├── NoteSymbol.java
│   └── SymbolLoader.java
├── Proxy
│   ├── classes
│   │   ├── connections.xml
│   │   ├── Graphic.class
│   │   ├── ImageProxy.class
│   │   ├── JxFrame$1.class
│   │   ├── JxFrame.class
│   │   ├── PageProxy.class
│   │   ├── Proxy.cdi
│   │   ├── ProxyDisplay.class
│   │   └── Test.class
│   ├── Proxy.jpr
│   └── src
│   ├── elliott.jpg
│   ├── Graphic.java
│   ├── ImageA.java
│   ├── JxFrame.java
│   ├── PageProxy.java
│   ├── ProxyDisplay.java
│   └── Test.java
├── Readme.txt
├── Singleton
│   ├── classes
│   │   ├── connections.xml
│   │   ├── SingletonA.class
│   │   ├── SingletonB.class
│   │   ├── Singleton.cdi
│   │   ├── SingletonException.class
│   │   ├── SingletonExecption.class
│   │   ├── SubSingletonB.class
│   │   ├── TestA.class
│   │   └── TestB.class
│   ├── Singleton.jpr
│   └── src
│   ├── mypackage
│   │   └── SingletonA.java
│   ├── SingletonB.java
│   ├── SingletonException.java
│   ├── SubSingletonB.java
│   ├── TestA.java
│   └── TestB.java
├── State
│   ├── classes
│   │   ├── connections.xml
│   │   ├── GenerateBill.class
│   │   ├── IShopState.class
│   │   ├── Pay.class
│   │   ├── Shop.class
│   │   ├── ShopContext.class
│   │   ├── ShopState.class
│   │   ├── State.cdi
│   │   └── Test.class
│   ├── src
│   │   ├── GenerateBill.java
│   │   ├── IShopState.java
│   │   ├── Pay.java
│   │   ├── ShopContext.java
│   │   ├── Shop.java
│   │   ├── ShopState.java
│   │   └── Test.java
│   └── State.jpr
├── Strategy
│   ├── classes
│   │   ├── connections.xml
│   │   ├── Context.class
│   │   ├── StrategyA.class
│   │   ├── StrategyB.class
│   │   ├── Strategy.cdi
│   │   ├── Strategy.class
│   │   └── Test.class
│   ├── src
│   │   ├── Context.java
│   │   ├── StrategyA.java
│   │   ├── StrategyB.java
│   │   ├── Strategy.java
│   │   └── Test.java
│   └── Strategy.jpr
├── TemplateMethod
│   ├── classes
│   │   ├── AbstractRead.class
│   │   ├── connections.xml
│   │   ├── ReadFile.class
│   │   ├── ReadHtml.class
│   │   ├── TemplateMethod.cdi
│   │   └── Test.class
│   ├── src
│   │   ├── AbstractRead.java
│   │   ├── ReadFile.java
│   │   ├── ReadHtml.java
│   │   ├── Test.java
│   │   └── test.txt
│   └── TemplateMethod.jpr
└── Visitor
├── classes
│   ├── awtList.class
│   ├── Boss.class
│   ├── bVacationVisitor.class
│   ├── connections.xml
│   ├── Employee.class
│   ├── JawtList.class
│   ├── JListData.class
│   ├── JxFrame$1.class
│   ├── JxFrame.class
│   ├── VacationDisplay.class
│   ├── VacationVisitor.class
│   ├── Visitor.cdi
│   └── Visitor.class
├── src
│   ├── awtList.java
│   ├── Boss.java
│   ├── bVacationVisitor.java
│   ├── Employee.java
│   ├── JawtList.java
│   ├── JxFrame.java
│   ├── VacationDisplay.java
│   ├── VacationVisitor.java
│   └── Visitor.java
└── Visitor.jpr

73 directories, 346 files

标签:

实例下载地址

java23种设计模式的demo.zip

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警