草庐IT

INTERFACE

全部标签

c# - IoC - 单一接口(interface)的多种实现支持

我想知道为什么.NetIoC容器不容易支持单个接口(interface)的多种实现!可能是我错了,但据我所知,像Ninject这样的框架使用注释(how?)部分支持此功能。我认为Windsor或简单注入(inject)器等其他框架没有支持这种情况的简单机制。为什么很多框架不支持这有什么原因吗?AFAIK,使用接口(interface)的最重要原因之一是实现松散耦合。如果旨在改善松散耦合的框架不能流畅地支持单个接口(interface)的多个实现,我不明白为什么!附言当然我理解在运行时会有解析的问题,容器会纠结选择哪个实现,但这是设计中必须要考虑的事情,对吧?

c# - 如何使用 IComparable 接口(interface)?

我需要一个基本示例来说明如何使用IComparable接口(interface),以便我可以按升序或降序以及我正在排序的对象类型的不同字段进行排序。 最佳答案 好吧,因为你正在使用List只使用Comparison会简单得多,例如:Listdata=...//sortbynamedescendingdata.Sort((x,y)=>-x.Name.CompareTo(y.Name));当然,对于LINQ,您可以只使用:varordered=data.OrderByDescending(x=>x.Name);但是你可以在List中重新

javascript - 在 JavaScript 中是否有 "right"的继承方式?如果是这样,它是什么?

我一直在努力学习如何向现有代码添加测试——目前正在阅读WorkingEffectivelyWithLegacyCode.我一直在尝试应用JavaScript中的一些原理,现在我正在尝试提取一个接口(interface)。在寻找用JavaScript创建接口(interface)的过程中,我找不到很多东西——而且我发现的关于继承的内容似乎有几种不同的方式。(有些人创建自己的基类以提供有用的方法,使继承更容易,有些人使用函数,有些人使用原型(prototype))。什么是正确的方法?有一个用JavaScript提取接口(interface)的简单示例吗? 最佳答

javascript - Node.appendChild 的参数 1 没有实现接口(interface) Node

我是JavaScript的新手,我不知道什么是接口(interface)节点?下面是我的错误代码Panel=function(){varpopUpDiv=document.getElementById("firewall-content");varpanelDiv=$("").addClass("side_panel");popUpDiv.appendChild(panelDiv);}; 最佳答案 appendChild是原生DOM方法,只接受DOM节点作为参数。您尝试附加的元素(panelDiv)是一个jQuery对象,而不是DO

javascript - 何时在 TS 中使用类型(与接口(interface))

这个问题在这里已经有了答案:InterfacesvsTypesinTypeScript(24个回答)5年前关闭。我无法确定何时(如果有的话)您想要使用type而不是interface对于typescript中的变量。假设以下两个:typeUser={id:string;name:string;type:string;}interfaceUser{id:string;name:string;type:string;}我可以定义一个完全一样的变量是constuser:User=....然而,这里是我可以用interface做的所有事情。我不能用types://Extension:inter

javascript - Typescript 接口(interface)可选属性取决于其他属性

假设我们有以下Typescript接口(interface):interfaceSample{key1:boolean;key2?:string;key3?:number;};在这种情况下,key1始终是必需的,key2始终是可选的,而如果key1为true,如果key1为false,则不应存在。换句话说,一个键的出现取决于另一个键的值。我们如何在Typescript中实现这一点? 最佳答案 最直接的表示方式是使用typealias而不是界面:typeSample={key1:true,key2?:string,key3:numbe

javascript - TypeScript:类型定义的引用子类型(接口(interface))

我在我的TypScript中使用以下类型:interfaceExerciseData{id:number;name:string;vocabulary:{from:string;to:string;}[];}现在我想创建一个与属性vocabulary类型相同的变量,尝试以下操作:varvocabs:ExerciseData.vocabulary[];但这不起作用。是否有可能以某种方式引用子类型?或者我必须做这样的事情吗?interfaceExerciseData{id:number;name:string;vocabulary:Vocabulary[];}interfaceVocabu

javascript - typescript 2.1 with async/await 为 angularjs 生成 ES5/ES3 目标

我正在尝试在一个Angular1.5.5项目中使用async/await。鉴于此服务方式getDocumentTypes():angular.IPromise{varurl="api/document/types";this.$log.log(url);returnthis.$http.get(url).then(_=>_.data);}我正在尝试创建该方法的async/await版本。asyncgetDocTypes():angular.IPromise{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}Intellisenseshowsanerror:TS1055

javascript - 在 Jasmine 测试中更新 React 组件状态

我有一个相对简单的React组件,它根据其状态呈现列表。然后我有一个karma/jasmine测试来渲染组件,设置它的状态,并检查是否渲染了正确的标记。我遇到的问题是,每次我在我的组件上执行setState({})或forceUpdate()时,我都会收到错误消息:TypeError:'undefined'isnotanobject(evaluating'deepestAncestor.firstChild')at/home/company/projects/user_interface_kit/bower_components/react/react.js:10314在React组件

javascript - 如何对 jquery 插件中的私有(private)方法进行单元测试?

也许这是一个JQuery新手问题,但是:适当的jquery插件写在闭包中因此只能从外部访问定义插件接口(interface)的方法有时(或多次)人们可能需要辅助方法,但将这些方法作为插件接口(interface)的一部分公开是没有意义的(例如,因为它们会改变内部状态)。如何对这些进行单元测试?例如,查看blockUI插件,方法安装、删除、重置如何进行单元测试?为了画一个平行线,在Java中我会:创建一个仅包含公共(public)方法的BlockUI接口(interface)(根据定义)创建一个实现上述接口(interface)的BlockUIImpl类。此类将包含install()、r