SOLID原则-第5部分

依赖倒置原则指出,较高级别的模块不应依赖于较低级别的模块,它们都应依赖于抽象。 换句话说,所有实体都应基于抽象接口,而不应基于具体类型 。 该原则还强调,抽象不应依赖细节。 细节应取决于抽象。

因此,这里的技术问题是什么是更高级别的模块? 或我们可以定义为较低级别的模块?

高级 模块是包含应用程序的策略决策和业务模型的任何模块。 这可以视为应用程序标识。 更高级别的模块主要由应用程序中的表示层使用。

低级模块是包含执行决策和业务策略所需的详细实现的模块。

依赖倒置原则有时被误认为是依赖注入。 虽然这些术语看起来彼此相似,但它们完全不同。 依赖注入是为对象提供实例属性或变量的过程。 但是,不提及依赖注入就很难谈论依赖倒置原理。 这是因为您需要依赖注入机制来实现依赖倒置。

假设我们要使用“ UserDefaults ”在应用程序中保留,读取和擦除一些用户编码的数据,并带有一些将实际实现逻辑分开的高级抽象。

到目前为止,我们将使用Swift语言作为实际示例的SOLID原理带到了旅程的尽头,之前的原理是关于接口隔离

对于完整的操场,您可以在github仓库中找到它。

请随时与我们联系。 我期待知道您的想法。

我也写过迅捷的associated-type请看一看。

鲍勃·戈德温(@bobgodwinx)| 推特

Bob Godwin(@bobgodwinx)的最新推文。 移动团队首席工程师@dunnhumby Germany GmbH。 @Apple的粉丝…

twitter.com