小编l0v*_*0v3的帖子

点分隔的字符串资源名称是什么?

我使用snake_style 来命名字符串资源。在某人的代码中,我发现了另一种带有点的符号。我找不到关于这个话题的一个词。

<resources>
    <string name="title.activity.first">Activity 1</string>
    <string name="title_activity_second">Activity 2</string>
</resources>
Run Code Online (Sandbox Code Playgroud)

这些样式有什么实际的优点/缺点吗?或者它只是一个美容的东西?

string resources android naming-conventions

6
推荐指数
1
解决办法
1797
查看次数

Kotlin 中的懒惰类代表?

我正在尝试对我的接口进行 Facade 以抽象真实类型并省略直接命名所有类型的需要。我结束了这个:

class Facade : ILeft by LeftImpl(), IRight by RightImpl()

ILeftIRight是接口,我实例化它们的实现。这是我一直在寻找的一般解决方案,并且有效。

比方说,我知道,我大部分时间只会使用 ILeft 或 IRight。在某些情况下,我会同时使用它们,但大多数情况下,我只会使用一种。因此我想让他们变得懒惰,但是如何呢?

1) 可以使用构造函数中提供的实例,但这需要一个实例。

2)如果我尝试定义:

class Facade : ILeft by left, IRight by right {
     val left by lazy { LeftImpl() }
     val right by lazy { RightImpl() }
}
Run Code Online (Sandbox Code Playgroud)

leftright在类的声明无法访问。

我可以在内部使实现变得懒惰,这也是一种可能性。但是我正在尝试找到一种方法,仅通过 kotlin 就可以开箱即用地编写它。

任何想法如何让只有 ILeft 的 Facade 对象通过实现实际初始化?

delegates kotlin

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