Tag: 界面

在哪里把@Transactional? 在接口规范或实现?

什么被认为是放置@Transactional注释的最佳做法? 我应该注解接口方法还是实现?

在Eclipse中从固体类文件生成接口

Eclipse中是否有插件可以自动生成基于实体类/ impl类的接口? 目前我手动编码接口。

在不同的项目中与类实现分离的接口?

我们在一个中等规模的项目上工作(3个开发人员超过6个月),需要作出以下决定:我们希望将接口与具体的实现分离开来。 首先是将界面存储在一个单独的文件中。 我们希望进一步分离数据:我们希望在一个.CS文件中join一个带有接口的项目(CSPROJ)以及带有帮助类的另一个.CS文件(就像这个接口中使用的一些公共类一样,一些枚举等)。 然后,我们想要另一个工厂(CSPROJ)具有工厂模式,具体的接口实现和其他“工人”类。 任何想要创build实现这个接口的对象的类都必须包含第一个包含接口和公共类的项目,而不是实现本身。 这个解决scheme有一个很大的缺点:它将程序集数量乘以2,因为每个“正常”项目都有一个带有interace的项目,另一个带有实现。 你会推荐什么? 你认为把所有的接口放在一个独立的项目中,而不是在自己的项目中放置一个接口是个好主意吗?

什么时候应该使用接口?

我知道一个接口没有一个方法定义的主体。 但是什么时候我应该使用接口? 如果我为某人提供一组没有身体的接口,为什么他们觉得需要编写函数体? 他们会用抽象的方法写出自己的抽象类更好吗? 编辑: 如果你是一个团队的一员,我想接口的使用更多。 假设团队A写了一些代码,他们想看看是否调用方法。 与名称getRecords(),是否完成。 这将帮助团队B编写提供给他们的界面主体,团队B必须保持方法名称相似,以便团队A的代码运行。 只是一个想法。 我可能错了。 我认为接口对单个开发人员没有用处。 编辑: 感谢所有的答案。 用你们所有人的回答,我认为接口有更多的用途,当你正在做类似的API?

为每个类提取一个接口是否是最佳实践?

我已经看到了代码,每个类都有一个它实现的接口。 有时候,他们都没有共同的界面。 他们只是在那里,而不是具体的物体。 他们不提供两个类的通用接口,而是针对类解决的问题的领域。 有什么理由要这样做吗?

PHP:我可以在接口中使用字段吗?

在PHP中,我可以指定一个接口有字段,或PHP接口限于function? <?php interface IFoo { public $field; public function DoSomething(); public function DoSomethingElse(); } ?> 如果没有,我意识到我可以在接口中公开一个getter函数: public GetField();

每一个物体都应该有一个界面,所有的物体都是松散耦合的?

从我读过的最好的做法是有基于接口的类和松散耦合的对象,以帮助代码重用和unit testing。 这是正确的,这是一个应该始终遵循的规则吗? 我问的原因是我最近在一个有100多个不同对象的系统上工作。 几个共享的通用接口,但大多数不知道是否应该有一个接口镜像这些类的每个属性和function? 我正在使用C#和dot net 2.0,但我相信这个问题将适合多种语言。

为什么这个C#代码返回它所做的

有人可以帮我理解为什么这段代码片段返回“Bar-Bar-Quux”? 即使阅读了界面,我也很难理解这一点。 interface IFoo { string GetName(); } class Bar : IFoo { public string GetName() { return "Bar"; } } class Baz : Bar { public new string GetName() { return "Baz"; } } class Quux : Bar, IFoo { public new string GetName() { return "Quux"; } } class Program { static void […]

golang中关键字var后面的下划线和接口名称是什么意思?

http://golang.org/src/pkg/database/sql/driver/types.go 30 type ValueConverter interface { 31 // ConvertValue converts a value to a driver Value. 32 ConvertValue(v interface{}) (Value, error) 33 } 54 var Bool boolType 55 56 type boolType struct{} 57 58 var _ ValueConverter = boolType{} 59 60 func (boolType) String() string { return "Bool" } 61 62 func (boolType) ConvertValue(src interface{}) […]

去,X不执行Y(…方法有一个指针接收器)

关于这个“ X没有实现Y(…方法有一个指针接收器) ”的问题已经有了几个问题,但对我来说,他们似乎是在谈论不同的事情,而不适用于我的具体情况。 所以,我没有把这个问题做得非常具体,而是把它放在一个宽泛而抽象的地方 – 好像有几种不同的情况可以使这个错误发生,有人可以把它总结出来吗? 也就是说,如何避免这个问题,如果发生,有什么可能呢? 谢谢。