Tag: solid principles

如何遵守得墨忒耳的法律?

每当我看到关于得墨忒耳法的文章时,作者似乎都没有给出如何遵守这一法律的可靠实例。 他们都解释了它是什么,并展示违法的例子,但这很容易。 可能有很多方法可以遵守这个法律(好的设计和计划就是一个),但用非常简单的术语来说,这是一种服从它的方法吗? 假设我有一个具有这些属性的类: public class Band { private Singer singer; private Drummer drummer; private Guitarist guitarist; } 我在程序中的某个地方,我有一个Band类的实例,我想要吉他手的名字,我通常看到的是: guitaristName = band.getGuitarist().getName(); 那个似乎并不太糟糕,因为链条不会太深,但是得墨忒耳法则说它可能应该这样做: guitaristName = band.getGuitaristName(); 我的Band类有一个方法: public String getGuitaristName() { return guitarist.getName(); } 这是你应该遵守法律的吗? 谢谢。

接口隔离原则背后的原因是什么?

接口隔离原则(ISP)表示许多客户端特定接口优于一个通用接口。 为什么这很重要?