Web 独特项目中接口、注入的必要性

Web 独特项目中接口、注入的必要性,web,interface,Web,Interface,为什么我要在一个几乎没有机会被其他人重用或升级的站点上实现接口和依赖注入?为什么 我不认为接口和注入只是关于重用或升级 就我个人而言,我对所有项目都使用接口和DI。这还不足以让避免它们成为一种好处。为什么呢 我不认为接口和注入只是关于重用或升级 就我个人而言,我对所有项目都使用接口和DI。这还不足以使避免它们成为一种好处。因为您所做的假设与导致Y2K的假设相同。因为您所做的假设与导致Y2K的假设相同。这通常会使单元测试变得简单一些。例如,您可能有一个类型使用另一个连接到数据库的类型。对于第一种类

为什么我要在一个几乎没有机会被其他人重用或升级的站点上实现接口和依赖注入?

为什么

我不认为接口和注入只是关于重用或升级

就我个人而言,我对所有项目都使用接口和DI。这还不足以让避免它们成为一种好处。

为什么呢

我不认为接口和注入只是关于重用或升级


就我个人而言,我对所有项目都使用接口和DI。这还不足以使避免它们成为一种好处。

因为您所做的假设与导致Y2K的假设相同。

因为您所做的假设与导致Y2K的假设相同。

这通常会使单元测试变得简单一些。例如,您可能有一个类型使用另一个连接到数据库的类型。对于第一种类型的单元测试,您可以插入一个测试模拟来代替第二种类型,这样您就可以有效地对第一种类型进行单元测试,而无需通过第二种类型间接连接到数据库。

这通常会使单元测试更加简单。例如,您可能有一个类型使用另一个连接到数据库的类型。对于第一种类型的单元测试,您可以插入一个测试模拟来代替第二种类型,这样您就可以有效地单元测试第一种类型,而无需通过第二种类型间接连接到数据库。

当您学习如何编程计算机时,您正在开发一种工艺的“肌肉内存”。多年来,你继续以同样的心态进行编程。大多数人并不是从一开始就学会了所有漂亮的OOP原则,所以他们看起来比他们学习的方式更努力


无论何时使用OOP语言,您都应该养成使用OOP设计技术的习惯,因为这将使您总体上成为一名更好的开发人员。你的目标应该是重新训练你的肌肉编程记忆来使用这些技术。这样你就不必问这些问题,并且假设这些技术在某种程度上阻碍了你的编程。你变成了一个只会用这种方式编程的程序员。

当你学会如何编程一台计算机时,你正在开发一种你手艺的“肌肉记忆”。多年来,你继续以同样的心态进行编程。大多数人并不是从一开始就学会了所有漂亮的OOP原则,所以他们看起来比他们学习的方式更努力


无论何时使用OOP语言,您都应该养成使用OOP设计技术的习惯,因为这将使您总体上成为一名更好的开发人员。你的目标应该是重新训练你的肌肉编程记忆来使用这些技术。这样你就不必问这些问题,并且假设这些技术在某种程度上阻碍了你的编程。你变成了一个只会用这种方式编程的程序员。

我发现,以我还没有想到的方式重复使用我的代码会更容易。 它还使得在不更改源代码的情况下更容易更改代码的工作方式

我正在使用依赖注入

假设您有一个机器类,它有一个DoWork()函数。然后创建一个IWorkAlgorithm接口,为每台机器提供特定的算法实现

机器的每个实例都注入了一个IWorkAlgorithm,Machine.DoWork()调用注入的实现

现在您有以下优点:

  • 只需编辑一个XML文件,就可以在新的实现中进行交换
  • 您可以通过编辑XML文件来更改每个实现的属性(超时、限制等)
  • 您可以在Machine类之外重用您的实现

  • 我发现以我还没有想到的方式重新使用我的代码更容易。 它还使得在不更改源代码的情况下更容易更改代码的工作方式

    我正在使用依赖注入

    假设您有一个机器类,它有一个DoWork()函数。然后创建一个IWorkAlgorithm接口,为每台机器提供特定的算法实现

    机器的每个实例都注入了一个IWorkAlgorithm,Machine.DoWork()调用注入的实现

    现在您有以下优点:

  • 只需编辑一个XML文件,就可以在新的实现中进行交换
  • 您可以通过编辑XML文件来更改每个实现的属性(超时、限制等)
  • 您可以在Machine类之外重用您的实现

  • 如果您正在进行面向对象编程,即使您是唯一一个查看代码的开发人员,您仍然应该进行单元测试,如果您不使用依赖项注入,这将变得复杂

    不要忘记,你软件上的“其他开发者”很可能就是你。你可以把大量高度耦合的、相互依赖的代码拼凑在一起,甚至在你工作的时候理解它,但是一旦你离开这个项目,即使是几天,你就会开始忘记所有那些让这个问题无法解决的小事情


    当你回到它的时候(我还没有看到一个不需要修改的软件),你会希望你遵循了所有的最佳实践。

    如果你在做面向对象编程,即使你是唯一一个会看代码的开发人员,你仍然应该进行单元测试,如果不使用依赖项注入,这将变得复杂

    不要忘记,你软件上的“其他开发者”很可能就是你。你可以把大量高度耦合、相互依赖的代码拼凑在一起,甚至在你工作的时候理解它们,但是当你离开项目的时候,哪怕是几天,你