【发布时间】:2021-08-21 17:49:24
【问题描述】:
我是面向对象设计的新手。在阅读时,我想到了一个问题,我无法决定使用哪种设计模式(或者我应该完全使用它)。
例如,在图书馆,图书的到期日期取决于图书和人员。如果这本书很少见,到期日应该比其他书少,或者如果这个人是常客,到期日应该更长。那么这个功能访问两个类的属性,在哪里或者如何添加它会更正确?
我想到了不同的场景,将利弊解释如下:
-
创建一个名为到期日期的接口并确保两个类(Book 和 Customer)都实现它。但是我在哪里可以合并这样的两个日期?例如,图书的到期日为 2 周,由于客户的特性增加了 1 周,那么 3 周的结果应该出现在哪里?
-
创建一个单独的类并将两个对象的实例作为参数发送给一个方法。在这种情况下,为每个要添加的功能创建一个新类(本例中的到期日计算)似乎是一项非常繁琐的任务。
【问题讨论】:
标签: class object oop design-patterns