UNC-CH COMP 723

Pattern Code Examples

AOP observer: Demo.java
AOP observer: Subject.java
AOP observer: Observer.java
AOP observer: SubjectObserverProtocol.aj
AOP observer: SubjectObserverProtocolImpl.aj
AOP observer: Button.java
AOP observer: ColorLabel.java
AOP observer: Display.java

AOP federations: GenTool.java
AOP federations: UseTool.java
AOP federations: GlueGen2Use.aj

AOP: SqRoot.java
AOP: EnsureRealRoot.aj

AOP: RealSqRoot.java

AOP: ChainBidDemo.java

AOP: HelloWorld.java
AOP: HWTracer.aj

//===============================================

Observer: ObserverDemo.java
Observer: ObserverClassDemo.java

Strategy: SimpleStrategyDemo.java
Strategy: StrategyTemplateDemo.java

Memento: (MementoDemo) Originator.java
Memento: (MementoDemo) Caretaker.java

Template: TemplateMethodDemo.java

//===============================================

Proxy: net server (P2Client.java)
Proxy: net server (P1Server.java)
Proxy: net server (NetProxy.java)
Proxy: net server (Client.java)
Proxy: net server (Server.java)

Proxy: simple server (DemoMain.java)
Proxy: simple server (Server.java)
Proxy: simple server (Client.java)

Proxy: sockets after (SocketProxy.java)
Proxy: sockets after (SecondDoesWrite.java)
Proxy: sockets after (FirstDoesRead.java)
Proxy: sockets client before (SocketClientExample.java)
Proxy: sockets server before (SocketServerExample.java)

//===============================================

Chain: ChainBefore.java
Chain: ChainAfter.java
Chain: ChainBidDemo.java

Flyweight: FlyweightDemo.java
Flyweight: Heavy circles (Circle.java)
Flyweight: Heavy circles (CircleFactory.java)
Flyweight: Heavy circles (FlyDemo.java)
Flyweight: Heavy circles (NoFlyDemo.java)

Decorator: DecoratorBefore.java
Decorator: DecoratorAfter.java
Decorator: Gof Decorator Example
Decorator: Dynamic Decorator composition

---------------

Bridge: BridgeDemo.java
Adapter: StackDemo.java

---------------

Composite: directory: wayBefore: ComposApp.java
Composite: directory: before: ComposApp.java
Composite: directory: after: ComposApp.java

Composite: employee: AppUsingComposite.java
Composite: employee: Employee.java

Composite: graphics: GraphicMain.java

Composite: rowCol: CompositeDemo.java

------------------------------

Singleton: Singleton.java
Multiple uses of one Singleton: MultiUseSing.java
At-most-N Singleton: MultiSing.java

Factory: name factory (NameFactory.java)

Factory: extended name factory (NameFactory.java)
Factory: extended name factory (MiddleInitial.java)

Abstract Factory: DoMain.java
Abstract Factory: GardenMaker.java
Abstract Factory: Garden.java
Abstract Factory: FlowerGarden.java
Abstract Factory: HerbGarden.java
Abstract Factory: VeggieGarden.java
Abstract Factory: Plant.java