kuye 4年前

修改理由:

原来的翻译不太准确,容易让人产生误解

详细描述:

so有时候翻译成“那么”比翻译成“因此”更合适

相关信息:


此投稿已在 4年前 合并。

内容修改:

红色背景 为原始内容

绿色背景 为新增或者修改的内容

OldNewDifferences
7676
7777在这个类中,代码与给定的缓存实现形成高度耦合。它的高度耦合是因为我们依赖了一个扩展包中具体的缓存类。如果该扩展包的 API 变了,那么我们的代码也将必须做出修改。
7878
79 同理,如果我们想要将底层的缓存技术 ( Memcached ) 替换成另一种缓存技术 ( Redis ),我们得再次修改我们的代码库。我们的代码库并不需要知道是谁提供的数据或者数据是怎么提供的
 79同理,如果我们想要将底层的缓存技术 ( Memcached ) 替换成另一种缓存技术 ( Redis ),我们得再次修改我们的代码库。我们的代码库不应该对谁提供的数据或者数据是怎么提供的有太多了解
8080
8181**我们可以通过依赖一个简单的与扩展包无关的 interface 来改进我们的代码,来替代之前的实现方式:**
8282
 
117117<a name="how-to-use-contracts"></a>
118118## 如何使用契约
119119
120 因此,你如何去实现一个契约呢?它实际上很简单。
121 
122 Laravel 中的许多类型的类通过 [服务容器](https://laravel.com/docs/5.8/container) 来解析,包括控制器,事件侦听,中间件,队列作业,甚至路由闭包等。因此,要获取一个合同的实现,你只需在解析的类的构造方法中键入『类型提示』的接口。
 120那么,你如何去实现一个契约呢?它实际上很简单。
 121
 122Laravel 中的许多类型的类通过 [服务容器](https://laravel.com/docs/5.8/container) 来解析,包括控制器,事件侦听,中间件,队列作业,甚至路由闭包等。那么,要获取一个合同的实现,你只需在要解析的类的构造方法中键入『类型提示』的接口。
123123
124124例如,看看这个事件侦听器:
125125