邮票耦合改进

Stamp Coupling Improvement

我在大学 Stamp Coupling 学习编程。我们正在学习系统分析和设计。我的同学问我问题,如何解决Stamp Coupling?我问老师说"Use an interface to limit access from clients",我还是理解错了。

好吧,由于打印方法只需要客户的姓名、地址和账单信息,您不必向它传递任何其他信息。

你可以定义一个接口:

public interface PrintableCustomer
{
    public ... getName();
    public ... getAddress();
    public ... getBillingInfo();
}

现在,让 Customer class 实施 PrintableCustomer

打印方法现在可以接受 PrintableCustomer 而不是 Customer

void print (PrintableCustomer customer)
{
    ...
}

现在 print() 只能看到它需要的属性。