<< prev
refresh
next >>
ColdSpring
Barney Boisvert
Portland CFUG / ASUG
November 16, 2006
OO Primer
example
Class
Object
Method
Constructor
Getter/Setter
Dependency
Invocation
What is ColdSpring?
Inspired by Spring
Generic factory & registry
IoC (DI) container
AOP engine
Registries
example
An object 'warehouse'
Packages a collection of references
Factories
example
An object source
Encapsulates instantiation
Manages singletons
IoC / DI
example
A "super-factory-registry"
Encapsulates dependencies/initialization
XML-based in ColdSpring
Properly called a BeanFactory
Bean Types
Singleton
Prototype
FactoryBean
BeanFactoryAware
Wiring
Resolving dependencies
Two types:
constructor
setter
setter allows circular dependencies!
AOP
Abstract "cross-cutting concerns"
Declarative application of logic
Allows MASSIVE code reuse
In ColdSpring, built on top of FactoryBeans
Wrappers, Decorators, and Filters are all AOP
Cross-Cutting Concerns
How to determine
Typical examples:
Transactions
Logging
Security
AOP Definitions
Aspect / Advice
Before
After
Throws
Around
Joinpoint
Advisor
Pointcut
Weaving
ProxyFactoryBean
example
Heart of ColdSpring AOP
It's a ColdSpring FactoryBean
Proxies objects to weave aspects
Proxies
objects
, not
methods
!
Interesting Uses
Unit testing
Monitoring
Debugging
Model-Glue: Unity
At a Glance
Declare your dependencies - don't code them
Use setter injection
Encapsulate C-CC's in aspects
Weave judiciously
Go home early
Contact
barneyb@gmail.com
http://www.barneyb.com/
Soapbox
Use version control
Good tools require investment - they're worth it
Don't just code, learn too
Copyright 2006 Barney Boisvert (
http://www.barneyb.com/
)