共 6 道题目
解析:简单工厂把创建逻辑集中在工厂:客户端给出类型(如 "alipay"),工厂返回 PaymentProcessor 等抽象,避免业务代码依赖具体类。
解析:工厂应对客户端隐藏具体类,返回产品抽象。这样 CheckoutService 只依赖 PaymentProcessor,换渠道不必改调用代码。
解析:所有产品的创建分支集中在一个工厂类中,每加一种支付方式就要改工厂,对修改开放,对扩展不够封闭。
解析:简单工厂是一个类集中创建;工厂方法把 factoryMethod 下放到 ConcreteCreator,扩展新产品时主要加子类。
解析:创建规则复杂且类型持续膨胀时,单一工厂会变成巨大分支;应考虑工厂方法或抽象工厂。
解析:产品抽象是简单工厂能解耦的前提:业务调用 pay/refund,不必知道背后是哪家渠道实现。