小编Hal*_*end的帖子

为什么Java IO不能实现异步读取?

在Java IO中,我们使用Stream和Reader,而在NIO中我们使用Channel,Selector.

他们都做同样的事情,但结构完全不同.

那么为什么他们不编写像"AsyncStream"这样的新流或像"AsyncReader"这样的读者来实现NIO实现的功能.如果是这样,我们只有一个结构,它很漂亮.

那么为什么Java IO无法实现异步读取呢?使用Java IO实现异步读取有什么困难?

或者编写新框架而不是使用现有框架有什么好处?

java io

10
推荐指数
1
解决办法
252
查看次数

C#中如何避免命名空间和类同名?

\n

我知道建议在类和命名空间中使用不同的名称,但有时很难实现。说起来容易做起来难。当我们因为某种情况需要使用相同的名称时,他们从来没有给我们解决方案。

\n
\n\n

例如,我需要一个命名空间来放置所有有关配置的类,因此命名空间命名为ABC.Configuration。我不认为这个名字有什么问题。

\n\n

在命名空间下,我需要一个类来存储配置,因此它的名称也将是Configuration。有道理,你不觉得吗?

\n\n

除此之外,我在命名空间下还有一些其他类,例如 ConfigurationBuilder、ConfigurationManager 等。

\n\n

更重要的是,在Java中,包名我们使用“camelCase”,类名我们使用“PascalCase”。所以因为命名的情况,是没有问题的。

\n\n

那么在C#\xef\xbc\x9f中如何命名这种场景下的类

\n\n
\n\n

非常感谢。如果我使用Configuration.Configuration,我需要写更多的东西只是因为命名,而其他的只是ConfigurationManager,没有命名空间。有点乱。

\n\n

使用 ConfigurationStore 的想法很好,谢谢。\n我认为命名类的解决方案是在名称中明确标识用法并添加另一个单词。\n但是在我的项目中,我需要在某个地方使用配置,如果我写 ConfigurationStore.Path 来读取配置,看起来很奇怪。\n也许我可以使用像 IConfiguration 这样的接口来避免命名问题

\n

c# naming

5
推荐指数
1
解决办法
3947
查看次数

标签 统计

c# ×1

io ×1

java ×1

naming ×1