#kotlin引用
[[我是如何使用xlog的——plantuml渲染]]
package 防腐层{
component 接口 {
interface 接口定义
}
component 实现 {
class 接口实现
}
接口实现 --|> 接口定义
}
package Application {
component 功能 {
}
component 应用 {
}
}
功能 --> 接口
应用 --> 功能
应用 --> 实现
为了防止功能组件直接使用接口实现,需要把接口实现分离到单独的实现组件, 功能组件只依赖接口组件
package 防腐层{
interface 接口定义
class 接口实现
note left: package可见范围
接口实现 --|> 接口定义
}
package Application {
component 应用 {
}
component 功能 {
}
应用 --> 功能
功能 --> 防腐层
}
因为kotlin的package可见范围可以防止功能组件直接使用接口实现, 所以使用kotlin是不在需要分离接口实现到独立的组件, 整体上减少了组件的数量,更容易理解和维护
kotlin的package可见范围只对kotlin有效, 所以当java使用kotlin编写的库时,是无法阻止java直接使用接口实现的.