题目描述:
软件框架:
工厂方法:
针对不同的类,提供工厂方法来创建实例对象,将对象类型作为一个参数,定义到工厂方法中去,String type,这样,在每次创建时根据不同的类型来创建不同类型的实例。
State设计模式:
创建State接口,实现两个状态,一种是停着(parking),一种是在路上(depart)
让Parkable拥有一个属性State,能够管理自己的状态。
Decorator设计模式:
建立一个用于装饰的基础类ComplexParkingField,实现ParkingField接口,其中的所
有方法都delegate到未装饰之前的对象。
然后,建立一个具体装饰类ParkingFieldWithCompany,也实现ParkingField接口,继
承自ComplexParkingField类,增加了rep(公司信息),对需要变化的方法进行扩展
(使用super.xxx()调用基础功能)。修改构造函数,增加company参数。
visitor设计模式:
扩展其他功能:
考虑将来对 ParkingField 的功能扩展。例如要扩展的一个功能是统计停车场当前时刻占
用比例(=已停车的车位数量车位数)。
建立 visitor 接口 ParkingVisitor,只有一个方法 double visit(parkingField
pf)。
建立其子类 PercentageVisitor,实现该 visit 方法,调用 pf 的方法获得 pf 的内
部表示,进行计算。
在 ParkingField 接口中增加 accept(ParkingVisitor pv)方法,其实现很简单:
pv.visit(this)。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!