我遇到的情况是我有一个公共引用对象,它作为参数传递给不同的操作对象。传递它会使代码变得非常混乱。 无论如何,它是否像对每个操作(如会话)的引用?但是,它只是一个核心代码库。使用静态类不是解决方案。
由于
答案 0 :(得分:1)
解决方案1 - 您可以使用单身人士。它们保证运行代码中只有一个类的实例。
解决方案2 - 为什么不将共享引用对象作为具有这些操作的对象的属性?这样,每个操作都可以访问它。你可以做一些奇特的东西,比如如果引用属性为null,抛出一个异常左右。
答案 1 :(得分:1)
我知道有两种一般方法:
a)使用IoC和构造函数依赖项传入共享对象。正如你所提到的,如果在很多地方使用这个对象,这会污染接口,并且在很多情况下会增加很多混乱。
b)使用ambient context:创建一个基于接口的单例,可以由需要该对象实例的类访问。在单例中有一个setter,允许你覆盖实例(例如用于单元测试),所以仍然可以测试代码。
答案 2 :(得分:0)