在 JavaScript 中实现接口

Implementing interfaces in JavaScript

我正在学习 Java脚本。我的背景通常是 Java 和 C#。在那些环境中,我可以使用接口。很多时候,我的模式看起来像这样:

var implementers = GetForInterface<ISomeInterface>();

foreach (var implementer in implementers)
  {
  implementer.SomeMethod();
  }

我的问题是,如何在 JavaScript 中做类似的事情?我似乎无法弄清楚的主要是 GetForInterface 部分。我不确定这种设计模式叫什么。

谢谢

Javascript、

中没有接口

你所说的设计模式是service locator,但通常情况下这不是走下去的方式javascript。

您可以使用某些库来执行此操作:service-locator 或使用 classes 和继承自行实现。

一个简单的例子是保存一个继承自相同 class 的实例数组,您将能够遍历它们(并根据需要为所有实例激活相同的方法)

我见过的最简单的方法是使用存根并根据需要覆盖它们。例如:

     function getter(obj){}

     function objChecker()
       {
       try
         {
         /* Check argument length and constructor type */
         if (getter.length === 1 && getter.constructor === Function)
           {
           console.log("Correct implementation");
           return true;
           }
         else
           {
           console.log("Wrong implementation");
           return false;
           }
         }
       catch(e)
         {
         return NaN;
         }
       finally
         {
         console.log(JSON.stringify(getter))
         }
       }
 
 getter = getter;
 objChecker();
 getter = [];
 objChecker();
 getter = {};
 objChecker();
 getter = RegExp;
 objChecker();
 getter = Function;
 objChecker();

参考资料