对依赖注入技术的初学指导
2008-09-20 13:26:20 来源:WEB开发网请注意对AirlineAgency的引用被传递给了CabAgency的constructor(这表示两服务组件间的依赖关系)。
实际旅行规划操作的代码是在AbstractHarness和AbstractTripPlanner中。它在所有的harness类重复使用。
AbstractHarness.java的部分代码如下:
public void runHarness() throws Exception
{
this.configure();
this.getPlanner().planTrip(
"1, Acme Street",
"11111",
"22222",
new Date(System.currentTimeMillis() + 7200000));
}
AbstractTripPlanner.java的部分代码如下:
public void planTrip(String departingAddress, String departingZipCode,
String arrivalZipCode, Date preferredArrivalTime)
{
FlightSchedule schedule = airlineAgency.bookTicket
(departingZipCode,arrivalZipCode,preferredArrivalTime);
cabAgency.requestCab(departingAddress ,schedule.getFlightNumber());
}
Pico容器的实施
容器的实例化
这里要求一个简单的对DefaultPicoContainer类的实例化。
pico = new DefaultPicoContainer();
组件的注册
在Pico的容器里注册实施类。
pico.registerComponentImplementation(SimpleAirlineAgency.class);
pico.registerComponentImplementation(ConstructorBasedCabAgency.class);
pico.registerComponentImplementation(ConstructorBasedTripPlanner.class);
更多精彩
赞助商链接