问题描述
|
我2年前就曾与Unity合作,并且我打算再次使用它。
但是,当您使用google搜索时,您会转到Microsoft网站,该网站说页面不再维护,而另一个大受欢迎的网站是codeplex.com。
但是,在Codeplex上,自2010年初以来没有发布任何电影,他们承诺电影会在5月/ 6月放映(我想是指2010年),但目前还没有。
所以我想知道该产品是否还活着,还是MEF是新的孩子?
ps(位脱位)
不知道我是否是唯一的,但我似乎从未对Codeplex项目的成熟度/状态/“明年是否会存在”等有很好的了解,而文档中的大部分内容时间一般
解决方法
几点:
MEF并不是要成为Unity的竞争产品(因此在出于IoC的主要目的选择它时请记住这一点)。 Microsoft员工Glenn Block在stackoverflow上提出了这一点:
我们不希望MEF成为
通用IoC。最好的思考方式
关于MEF的IoC方面是
实施细节。我们使用IoC作为
模式,因为这是一种很好的方法
解决我们正在寻找的问题
解决... MEF专注于可扩展性。
P&P论坛上还有一个类似的问题(从上个月开始),具有以下答案:
团结还活着,而且很好,
团队正在为此工作(我们正在
建立Unity Interception支持
作为Silverlight的一部分
Silverlight集成包)。校验
在最新的下降中,您会看到
在那里更新。
此外,有许多项目正在使用
今天的Unity,包括Microsoft
产品。采用Unity的脉搏
非常健康-超过10万次下载
2.0的独立版本以及更多
通过EntLib。订阅人数
到Stackoverflow上的Unity论坛是
与MEF论坛相同。
我强烈建议您将您选择的IoC容器从一个薄包装纸中剔除掉,以帮助您避免任何给定容器过时的风险。如果需要,将使切换到其他容器变得更加容易。 .NET中Brownfield Application Development的Page 251也提倡这种方法,示例代码如下(为避免侵犯版权,我对其进行了一些更改):
public class Resolve
{
public static T TypeOf<T>()
{
//…
}
}
public class SomeClass
{
public void DoingSomething( )
{
var someDependency = Resolve.TypeOf<ISomeDependency>();
//...
}
}
,在涉及Microsoft的依赖项注入产品方面,MEF(受控扩展框架)和Unity目前处于竞争状态。至于拦截和AOP(面向方面的编程),MEF尚未真正做出努力。
历史告诉我们,Microsoft并没有真正很好地管理其竞争/重叠的团队项目,其结果是过去常常缺乏基本功能的半熟实施的记录(看一下LINQ to SQL和Entity Framework就是一个明显的例子-3年后来,EF仍然缺少LINQ to SQL开箱即用的非常基本的功能。
我个人将使用更成熟,维护得更好的DI框架(大多数框架还具有比MEF和Unity组合的功能更多)。我喜欢温莎城堡。 NInject,StructureMap和其他似乎也有良好的记录。,我认为MEF是个新生事物。而且非常甜美。它似乎已被很好地记录在案,并且看起来将会存在一段时间。据我所知,它也比Unity容易。,是的,Unity仍然存在!商务部也是如此。如果我没记错的话,Microsoft的模式和做法是否与Unity 2.0相同?