java支持包之间的强分离
我想到了软件设计中有趣的情况。如何从不应该看到的包中隐藏包(以及此包中的公共类)
例如,三个软件设计层(UI、BL、DAL)。UI层应该只知道BL层,BL层应该只知道DAL层
因此,BL包使用DAL包。但是我如何防止UI层在没有BL层的情况下使用DAL层,或者利用BL已经知道DAL的事实呢
这是我想说的唯一一个例子,防止从包中看到其他没有连接器包的包
你可以在下面搜索框中键入要查询的问题!
我想到了软件设计中有趣的情况。如何从不应该看到的包中隐藏包(以及此包中的公共类)
例如,三个软件设计层(UI、BL、DAL)。UI层应该只知道BL层,BL层应该只知道DAL层
因此,BL包使用DAL包。但是我如何防止UI层在没有BL层的情况下使用DAL层,或者利用BL已经知道DAL的事实呢
这是我想说的唯一一个例子,防止从包中看到其他没有连接器包的包
# 1 楼答案
Java本身并不能实现这种分离。只要一个类需要公开,它就向全世界公开
我同意你的看法,因为我不喜欢包含数百个类的包,所以我喜欢将它们分解成子包。不幸的是,这干扰了类的唯一隐藏机制,即使用包私有类
在实践中解决这一问题的方法通常是将代码分成单独的构建单元(基本上是项目)。您可以为每个图层创建单独的项目,并且仅添加作为从属项进行访问的图层