Interface 开闭实体原理是否与接口编码相同?
打开以进行扩展和关闭以进行修改是否意味着接口的代码Interface 开闭实体原理是否与接口编码相同?,interface,solid-principles,open-closed-principle,dependency-inversion,Interface,Solid Principles,Open Closed Principle,Dependency Inversion,打开以进行扩展和关闭以进行修改是否意味着接口的代码 如果我对一个接口进行编码,以便通过实现该接口来引入未来的具体实现,并且我们在不触及现有逻辑的情况下创建新类,它是否达到了我们尝试使用“开放用于扩展”和“关闭用于修改”实体原则来解决的相同目标?我想说,接口的代码解决了“开放-关闭”原则(OCP),但还有其他方法可以对接口进行编码 接口的代码也可能意味着向InputStream这样的抽象类编码 此外,CDI的使用还允许关闭bean进行修改,打开bean进行扩展 这意味着您不能使用接口,但可以使用接
如果我对一个接口进行编码,以便通过实现该接口来引入未来的具体实现,并且我们在不触及现有逻辑的情况下创建新类,它是否达到了我们尝试使用“开放用于扩展”和“关闭用于修改”实体原则来解决的相同目标?我想说,接口的代码解决了“开放-关闭”原则(OCP),但还有其他方法可以对接口进行编码 接口的代码也可能意味着向InputStream这样的抽象类编码 此外,CDI的使用还允许关闭bean进行修改,打开bean进行扩展 这意味着您不能使用接口,但可以使用接口来使用OCP 如果我对一个接口(…)进行编码,它是否实现了(…)可靠的原则 是的,你遵循坚实的原则。但接口的实现者可能不会 通常,接口分为方法签名和javadoc。方法签名指定技术上可以做什么,javadoc应该指定实现应该做什么。在这两种情况下,签名和doc都是硬事实,违反签名或javadoc的实现大多应报告为bug 因此,您可以将现有接口用于常见需求,也可以将新接口用于特定需求。如果创建一个新接口,您可能会考虑接口隔离原则,它也是SOLID principle集合的一部分 如果您设计这个接口,您必须对实现者的需求开放。在示例中,如果接口如下所示:
Date readDate(InputStream in);
实施者可能会提出一些您无法预见的要求: