有没有办法在没有引用实际项目的情况下使用/访问数据访问层项目中包含的枚举(为了尝试将某些事物分开)?
例如,我有一个项目说UI
引用项目说MIDDLEMAN
而另一个项目说DAL
。如果我的UI
引用了MIDDLEMAN
,而DAL
又引用了包含枚举的UI
,那么我可以从gestureStartPoint = [touch locationInView:self.SFImage];
访问枚举吗?
答案 0 :(得分:4)
如果我在n层图层程序上工作,我通常会创建一个项目名称“DataTypes”,它通过任何其他图层项目存储任何共享数据。
所以我可以将enum或'data class'包含在需要使用它们的项目中,而不需要复制它们,或者将ref从一个项目层添加到另一个项目层。
答案 1 :(得分:1)
您基本上有两个选择:
第一个是创建一个单独的项目,其他层都可以访问和使用枚举。如果这样做,请确保尽可能简化该项目。我的意思是小心不要在那里添加与其他任何项目直接相关的逻辑,这会产生不必要的依赖。
您的另一个选择是在MiddleMan
图层中创建类似的枚举,并从DAL
图层中的枚举映射到此新枚举。由于您的UI可以引用MiddleMan
,因此它应该能够使用此新枚举,同时仍然保持较低级别的枚举不可及。然后必须在映射逻辑中调整对较低级别枚举的任何更改。
答案 2 :(得分:-1)
您可以在单独的项目中移动枚举,并将其添加到您不想要合并的两个项目中:)