提高Laravel质量与固体的原则:最佳实践和实例(V - D部分)

2分钟阅读 4月9日

- - -

依赖倒置原则有几个特征非常相似依赖注入,但它不是这样的。

依赖于抽象,不具体。

当你有一个父类和子类应该使用一个或多个父类的依赖。例如:

假设我们的应用程序有两种类型的用户:用户管理员。都是authenticable和有一些消息之间的东西。现在让我们应用ISP更清楚。

接口Authenticable {
公共职能身份验证():bool;
}
接口信使{
公共函数prepareMessage():字符串;

公共函数sendMessage (): bool;
}
类用户实现Authenticable,信使
{/ * * * /}
类管理员实现Authenticable,信使
{/ * * * /}
类ChatMessage {

公共模型美元;

公共函数__construct (
管理员模式,美元
字符串消息)美元
{
= $ $ this - >模型模型;
}

公共函数处理(){
/ /消息处理的东西
}
}

如果我们停止思考,在这个例子是高水平模块ChatMessage而且它取决于低水平的模块,这是管理员类。

第五个原则后,它已经错了对吧?因为两个应该是一个抽象的不同。所以,ChatMessage我们应该注入Authenticable接口而不是管理员类。

类ChatMessage {

公共模型美元;

公共函数__construct (
Authenticable元模型,
字符串消息美元
)
{
= $ $ this - >模型模型;
}

公共函数处理(){
/ /消息处理的东西
}
}

我们现在依赖倒置。我们不需要担心N类相同的过程,因为一切都是维护在抽象。

这是它!我们完成了坚实的原则。

是这个故事的价值吗?Please support my work by leaving a clap as a token of appreciation.

Did you know that you can clap more than once? Thank You.

- - -

- - -

Baidu