繁体   English   中英

Java和C#如何模仿头文件的构造?

[英]How do Java and C# mimic header file construction?

Michael Scott编写的《 Programming Language Pragmatics》第4版说Java和C#可以模仿C和C ++中的头文件:

为了模仿早期头文件构建的软件工程实践,Java或C#设计团队可以创建其程序包或名称空间(其公共类)的框架版本,然后由负责该功能的程序员同时并独立使用它们。完整版本

这是什么意思:

  • “创建其包或名称空间(的公共类)的框架版本”

  • “由负责完整版本的程序员同时并独立使用”?

谢谢。

“创建其包或名称空间(的公共类)的框架版本”

这意味着设计人员在编写Java或C#源代码时缺少部分或全部实现细节。 例如接口

“由负责完整版本的程序员同时并独立使用”?

这意味着程序员将编写其余代码。

这意味着创建没有实现的类的版本。 在C#中,通常的方法是使所有成员抛出NotImplementedException 例如:

public class Database
{
    public IEnumerable<Employee> GetAllEmployees() => throw new NotImplementedException();
}

一种类似的方法是只创建接口,而不创建实现它们的类,例如:

public interface IDatabase
{
    IEnumerable<Employee> GetAllEmployees();
}

尽管这种方法在某些方面限制了您的设计,例如,您不能将其用于具有公共静态成员的类型。

通过这两种方法,即使尚未实现,其他程序员也可以开始编写使用Database / IDatabase代码。 这种做法的一个问题是,那些程序员无法测试他们的代码,除非他们创建了自己的测试实现(例如,使用模拟)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM