【发布时间】:2014-05-27 10:46:36
【问题描述】:
这个问题是在一次采访中被问到的。
家具可以由一种或多种材料制成。有各种家具类型,如椅子、桌子、沙发等。
家具测试取决于材料和家具类型。很少有测试是 choakable、防火、WithStands100KgWeight 等
在 OOAD 中设计。设计应该遵循Open Close原则,并且应该是乐观的,未来如果添加新家具,应该不需要更多的代码更改。
最初建议使用
class Furniture{
List<Material> materials;
boolean supportsTest(Test test);
}
class Chair extends Furniture{
boolean supportsTest(Test test){
// check material and based on type return true/false
}
面试官说家具就是家具,不应该说支持与否。任何替代解决方案?谢谢。
【问题讨论】:
-
它被否决的任何原因?