none
silverlight的项目,你们都是设计项目框架,分层的? RRS feed

  • 问题

  • 我是名silverlight新手,一直以来为silverlight分层的问题困扰着,我理想中的分层状态是这样滴,

    当然这仅仅是我不成熟的构思,想和大家分享,或听下高人的其他方法。

    最上层: web层(纯web层,几乎无其他配置,只需用xap,也就是说这个层独立性很强)

    第二层: silverlight项目(引用wcf里返回的方法,给sl控件赋值,等操作)
                 但是这个层有个小问题,它怎么引用linq层里的实体类呀,因为sl项目是无法引用一般类库的。

    第三层: 纯WCF项目(调用bll层,给上层引用)

    第四层: BLL层(一般类库,非silverlight类库,调用dal层)

    第五层: DAL层(c#类库,非silverlight类库,采用linq层里的方法,返回数据等操作)

    第六层: LINQ层(调用数据库了)

    ——————————————————————————————————————

    十分恳切高人把你们的silverlight项目架构一共分享下。共同学习。

    如果您是用的ria service也不妨说说,一直想用这个上手。


    视别人的帮助为恩赐~
    2009年6月25日 0:45

答案

全部回复

  • 根据项目的大小跟需求来分层吧,最主要的还是应该沿用asp.net的三层结构

    表示层
    业务逻辑层
    数据访问层
    2009年6月25日 1:19
    版主
  • SL就是一层,只做前端展现,所以应该是UI表现层

    客户端的服务层

    通讯层

    服务器服务层

    数据访问层
    2009年6月25日 1:35
  • 根据你项目的业务逻辑和功能而定,个人认为不一定完全的追求三层架构。
    一般的可以考虑
    UI层
    业务逻辑层
    数据传输层
    数据访问层
    2009年6月25日 10:29
  • SL就是一层,只做前端展现,所以应该是UI表现层

    客户端的服务层

    通讯层

    服务器服务层

    数据访问层

    刘兄,你说的“通讯层”是什么呀,用什么技术实现的?wcf吗?
    视别人的帮助为恩赐~
    2009年6月26日 0:41
  • 根据你项目的业务逻辑和功能而定,个人认为不一定完全的追求三层架构。
    一般的可以考虑
    UI层
    业务逻辑层
    数据传输层
    数据访问层

    数据传输层,请问您是用什么技术实现的?
    视别人的帮助为恩赐~
    2009年6月26日 1:03
  • 根据项目的大小跟需求来分层吧,最主要的还是应该沿用asp.net的三层结构

    表示层
    业务逻辑层
    数据访问层

    谢谢熊哥,请问你是用什么方式来调取数据的?
    视别人的帮助为恩赐~
    2009年6月26日 1:03
  • Socket
    2009年6月26日 1:17
  • 看项目需求 sl只能属于一层的技术
    假如觉得我的回帖有用,请在我回帖右方点一下标记为已解答按纽,以及是否有帮助请选是.
    2009年6月26日 8:04
  • 借此机会推荐一下.NET RIA Services 的构思.

    传统的网络项目中, 3层结构是很清晰的,(html) --- (Presentation Logic  -> App Logic -> Data Access Layer). 这种构架后台可以和一种或者多种服务进行数据交流.

    随着Ria的出现, 很多表示层的Logic 被移到了Client端, 用来提升用户体验.  这样表示层就被 network隔离开. 这就直接导致了 程序开发人员额外的工作,需要独立的定义自己的服务层,包括建立客户端的沟通,代码共享,等等.  而且随着项目的展开,这个服务也会不断的增加.

    所以Ria Services的目标就是简化这个中间层,让开发人员感觉是在开发只有2层的程序.

    看一下 Ria Service是的定义:

    Microsoft .NET RIA Services simplifies the traditional n-tier application pattern by bringing together the ASP.NET and Silverlight platforms. RIA Services provides a pattern to write application logic that runs on the mid-tier and controls access to data for queries, changes and custom operations. It also provides end-to-end support for common tasks such as data validation, authentication and roles by integrating with Silverlight components on the client and ASP.NET on the mid-tier.

    试翻译:   Microsoft .NET RIA Services 通过整合ASP.NET和Silverlight平台来简化传统的n-层开发模式。 RIA Services提供了一种对应用程序中间层逻辑的开发模式,它可以用来控制数据的查询,更改和各种自定义操作。同时通过 在中间层对Silverlight客户端和ASP.NET服务器端的整合,提供了一些常用的任务,比如数据验证,身份、角色验证。



      这里,Ria Services的目标表示把C-S这段完全掩盖起来,对开发人员来讲,网络还是实实在在存在那里的。Ria Services只是提供了一些工具来简化开发过程。比如有工具可以实现对数据模型、metadata 在Clieng-Server端的共享,避免那种同一种逻辑需要在Client/Server分别写两次的麻烦。

    大概用Ria Service开发出来的项目是这样一种模式

    Presentation Logic -> (Domain Context -> 网络 -> Domain Services) -> Application Logic -> Data Access Layer -> DataBase/OtherServices
    中间那层是由Ria Services来提供。

    当然,这只是其中的一种模式,而不是唯一的。

    2009年6月28日 6:58
  • 个人一点愚见,拿出来讨论一下

    我觉得RiaServer只是过渡产品,这个东东的主要目的是让开发人员可以更快的将传统的Asp.Net程序迁移到Silverlight上,但不需要重写后台代码。同样的包括认证机制等等,都用的传统的。但是对于SL来说,实际上是限制了SL的功能,比如SL的本地存储,脱机应用等。

    我们现在认为,SL带来的就是有别于B/S的全新的模式,应该是B/S+C/S的感觉,因此RiaServer可以快速帮你解决迁移的问题,但是如果想长期发展,建议还是使用WCF或者自己构建通讯和服务部分

    2009年6月29日 1:41
  • Ria Services项目的初衷是为了能让开发人员方便的使用Silverlight开发商用软件。它所提供的是对中间层的支持。同时这个Services甚至可以扩展对其他应用的支持,不仅仅是Silverlight前端.  在Mix里,已经有一些Demo,开发好的服务器端Service,可以在前端使用Silverlight, ASP.NET, Ajax, 甚至Winform, WPF,当然,也有OOB的支持。

    SL确实是有别于以往的模式,但所不同的主要在于Presentation Layer。RiaServices只是在下一层来简化中间层的开发损耗。所以不能认同这个限制了sl的说法。RiaServices是SL  Team的一部分。

    当然,没有一种模式是适合所有人的应用的。RiaService主要面向的是多数SMB的开发人员。根据实际面临的情况,当然有的人愿意自己花时间控制所有的环节。所以RiaServices只是一种快速开发的手段和模式。是否使用,还是在于各个项目的具体情况。
    2009年6月29日 2:31
  • 恩,同意~

    后端RiaServices,前端确实可以是Silverlight、Asp.Net、Ajax、Winform、WPF,这个好理解

    选型确实要看项目,看具体的情况,RiaServices提供了一个新的选项

    呵呵,我收回“限制”的说法~因为我对RiaServices了解不多,实在不应该这么轻率的评价

    现阶段RiaServices的目的应该是可以让原来Asp.Net上的应用的前端展现尽快迁移到Silverlight上吧?如果微软指望所有应用都是重新开发的才应用Silverlight,那这个推广速度实在太慢了~我认为微软现在的重点就是让更多的人用Silverlight。

    敢问Xun Sun兄台负责那个方面?RiaServices?
    2009年6月29日 2:41
  • 你说的确实是关键,推广Silverlight的应用是目前的重中之重。只有安装率提高了,才会有更多的人去开发使用Silverlight,同时如果Silverlight的应用程序多起来,也会提高用户的安装率。

    其实RiaServices这个项目成立的目的就是推广Silverlight应用的层面。我们认为如果Silverlight只是能开发一些客户端的比较酷的UI是远远不够的。必须有能够适合中小企业迅速开发的工具和平台,才能够方便更多的开发人员熟悉和使用Silverlight,并且简单的开发出商务软件。简单的说,商务软件必须要有可以对数据的方便的进行掌控。

    如果让所有的Silverlight开发人员考虑的重点放在数据的通讯传输,设定自己的协议上,那开发速度一定会大打折扣。RiaServices的目的是要让用户忘掉这个network,而把重心放在企业自己的Business Logic上。而其他的工作,由RiaServices平台来完成。 我们希望这样的一个平台可以加快Silverlight程序的开发,从而加速Silverlight的应用推广。

    我是在RiaServices组,7月份我们会有一个新的预览版,欢迎大家试一下,多提宝贵意见。

    2009年6月29日 3:45
  • 恩~~~这个看到RiaServices的时候就深有同感了!~

    你的MSN是多少~?~
    2009年6月29日 4:04

  • 我是在RiaServices组,7月份我们会有一个新的预览版,欢迎大家试一下,多提宝贵意见。


    哥们,7月份会有中文版的帮助文档吗?
    视别人的帮助为恩赐~
    2009年6月29日 5:58
  • 正式的文档7月份还不会有中文版.

    不过我在考虑把一些demo的Video 用中文做一下. 希望能对大家有所帮助.

    2009年6月29日 6:20
  • 现在MS做SL这块儿有几个组啊?
    2009年7月2日 1:03
  • 本人的看法:
         项目一般可以划分多级多层结构来做:

         多级的含义:
              客户端程序是一级
              应用服务程序是一级
              数据库服务器算是一级

         多层的含义:
              服务器端:
                    数据存取是一层
                    业务对象模型是一层
                    业务控制逻辑可做一层
                    服务提供可写为一层

              客户端:
                   用户界面是一层
                   逻辑控制是一层
                   业务对象是一层
                   通讯服务是一层

    2009年7月2日 3:48