将Java体系结构堆栈映射到Microsoft

时间:2010-03-02 05:02:23

标签: java .net flash silverlight architecture

来自Java背景,我现在在微软商店工作,我们只使用MS技术。您能否将此架构堆栈映射到MS世界?我不是在寻找堆栈特定层的等价物,而是在现实世界中已知的经过验证的端到端堆栈:

谢谢!

架构堆栈:
休眠
春天DAO Spring声明式事务管理
域模型POJO
Spring MVC
BlazeDS的
Flex的
用于制图和交互式数据分析的Flex Interactive数据可视化

交叉问题:
使用Acegi + ACL的安全性(用户角色的数据内容授权)
使用模拟对象进行测试
使用Ivy + Ant进行部署 使用Log4J进行日志记录

6 个答案:

答案 0 :(得分:2)

架构堆栈:

  • Hibernate - > NHibernate的
  • 域模型POJO - >域模型POCOs
  • Spring MVC - > ASP.net MVC
  • BlazeDS - > RIA服务
  • Flex - > Silverlight的

对于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:

http://www.codeplex.com/unity/