设计模式-单独的类区别仅在构造函数中

对设计模式垃圾的质疑,因为我们一直在就此进行团队辩论,时间远远超出了我们的预期。

因此,我们使用一个框架Yii2,该框架为数据库表创建默认模型。在一个示例中,表t_receipt_settings具有模型TReceiptSettings。因为我们有一些默认设置,所以进行这些默认设置的一种方法是创建另一个类DefaultReceiptSettings,该类仅使用不同的构造函数来扩展TReceiptSettings。示例:

class DefaultReceiptSettings extends TReceiptSettings
{
    public function __construct($config = array()) {
        $this->print_website_address = 1;
        $this->print_email_address = 1;
        $this->print_phone_no = 1;
        $this->print_cash_reg_name = 1;
        parent::__construct($config);
    }

}

现在,此方法收集的评论是:

  1. 这是错误的。您应该在TReceiptSettings中创建一个静态方法来为您设置默认值。或
  2. 这是一种正确的方法。创建具有初始默认值的新类实际上是有利的。在您的代码中其他位置添加新的DefaultReceiptSettings();比替代方法要好得多。

这是一个好的解决方案吗?一个可以接受的解决方案?或错误的解决方案?为什么呢?

dyicp 回答:设计模式-单独的类区别仅在构造函数中

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3161151.html

大家都在问