raj*_*han 1 oop perl refactoring
帮助我更好地编码这个场景.假设我有一个名为"car"的基类,以及两个名为"Ferrari"和"Chevrolet"的派生类.现在我有一个名为"ParkingLot"的新类,它应该知道它正在操作的汽车,自定义批量和其他属性.
现在回到问题所在.我正在开发的当前代码库非常成熟,它完全用Perl OOPS编写."ParkingLot"构造函数将始终与car对象(在此之前实例化)作为参数传递.代码(Parking Lot)使用这个参数,在对象指针上做一个ref来查找该类是否是"法拉利"/"雪佛兰",并根据汽车类型进行一些非常具体的操作.这个例子,我想说的是一个"冰山一角",这些代码在整个代码中遍布各处,使其更难以维护.
Tommorow,如果我想添加一辆新车,我的停车场应该支持,那么通过代码检查所有参考并手动进行更改将成为一场噩梦.您将如何重做代码以使其更优雅和可维护?
据推测,ParkingLot出于某种原因区分了各种类型的汽车 - 例如,两者之间被盗的可能性可能不同.对于ParkingLot所做的每一个区别,尝试弄清楚区别所依据的汽车属性(或缺乏此类属性),并为汽车或其子类提供这些属性,而不是基于类决定.
作为一项临时措施,让雪佛兰成为我的雪佛兰财产,而法拉利则是我的法拉利财产并对其进行测试.
| 归档时间: |
|
| 查看次数: |
221 次 |
| 最近记录: |