来自Java背景,我现在在微软商店工作,我们只使用MS技术。您能否将此架构堆栈映射到MS世界?我不是在寻找堆栈特定层的等价物,而是在现实世界中已知的经过验证的端到端堆栈:
谢谢!
架构堆栈:
休眠
春天DAO
Spring声明式事务管理
域模型POJO
Spring MVC
BlazeDS的
Flex的
用于制图和交互式数据分析的Flex Interactive数据可视化
交叉问题:
使用Acegi + ACL的安全性(用户角色的数据内容授权)
使用模拟对象进行测试
使用Ivy + Ant进行部署
使用Log4J进行日志记录
答案 0 :(得分:2)
架构堆栈:
对于DI,如果您熟悉的话,可以去spring.net。 Spring和Castle Windsor可能是最成熟的,紧随StructureMap。
跨领域问题:
使用Acegi + ACL的安全性(用户角色的数据内容授权)
可能要自己动手。
使用模拟对象进行测试
默认情况下,.net方法不像java那样是虚拟的,这极大地限制了动态代理(使模拟框架在静态语言中工作的秘诀)可以做到的事情。 Rhino.Mocks或Moq将是最常用的免费,并使用动态代理方法。还有Typemock隔离器,几乎可以模拟任何东西,但它是800美元/座位。
使用Ivy + Ant进行部署
如果你想要免费的话,常春藤将是Cruise Control,如果你想获得好的话,TeamCity会是好的(警告:我是一个看起来很好的人;-) Ant将是NAnt或MSBuild(几乎是同样的事情)使用Log4J
进行日志记录两个主要选择,log4net或Microsoft Enterprise Library Logging Block(爱他们的名字)log4net肯定是两个选择中更轻量级的,但它取决于你想做什么
答案 1 :(得分:1)
以下不是那么精确的等价物,而是.NET世界中使用的更多替代品。
Spring MVC - > ASP.NET MVC
Flex - > Silverlight(仅限客户端)
Flex交互式数据 - > Silverlight图表或ASP.NET图表
Hibernate - > ADO.NET实体框架。
编辑:
我认为以下是一个很好的起点(我遗漏了一些我不知道的事情,比如“声明式交易管理”)。
SQL Server
ADO.NET Entity Framework
.NET RIA Services
Silverlight(图表组件包含在Silverlight toolkit)
对于日志记录,我更喜欢log4net。
对于报告和数据分析,您可能还需要查看SQL Server Analysis Services和Reporting Services。
另请查看Team Foundation Server以进行测试,自动构建和部署。
答案 2 :(得分:1)
.NET商店在“允许”内容往往更具说明性,所以在潜入之前先问问你的同事,然后选择一些东西。
我已经使用过Spring.NET,而Castle Project和两者都非常稳固,但与Java同行相比并不是1:1。 MS商店通常倾向于与母舰保持密切联系,因此更有可能选择MS Enterprise Library / Unity(可靠而详细),ASP.NET MVC,Silverlight和Entity Framework等。
对于CI有TFS(Team Foundation Server,免费版本现在随Visual Studio一起提供)但是如果你想坚持免费软件theres CruiseControl.NET,nAnt,nUnit基本上把Java项目转换为“j”到和“n”并且可能有产品;)
答案 3 :(得分:0)
我知道其中几个有等价物:
log4j - > log4net
Hibernate - > NHibernate
春天 - > Spring.net
此外,似乎POJO并不是特定于Java的所有(好吧,我想J部分是:))。我猜一个“普通的旧C#对象”可以被认为是等价的......
答案 4 :(得分:0)
我找到了一些东西,夏普+ Silverlight会让我80%吗?这被认为是.NET世界当前的最佳实践吗?
http://wiki.sharparchitecture.net/MainPage.ashx
我看到的最大缺失部分是Acegi + ACL功能......
答案 5 :(得分:0)
我添加的一件事,因为我认为它还没有被提及,Unity是一个可行的(并且更简单!)替代Spring: