经过1个月的学习,从接触Silverlight到现在完成一个初具企业级应用框架的实现,确实感觉比较累。本来底层定型很快,但由于选型时争论比较长,拖了点时间,而我本来只负责底层,但由于客户端小组进展比较慢(原因一言难尽),这个星期我开始接手这方面的工作,经过几天的努力,在UI组兄弟们的配合下,今天终于完成了从数据库到页面的整个应用架构的实现,效果不错,而且还比较适合大规模开发。下面是整个架构体系:
实体框架:主要包括数据库底层访问和实体访问封装,可支持多种数据库访问,并可在一个应用上(WebApp)同时访问不同数据库,可根据需要自由切换。实体(包括表现实体)可由工具自动生成,实体映射采用元属性实现。实体访问:DBContext可以自动构造SQL语句进行相关操作。复杂查询可以直接利用SQL执行,返回数据集后在业务逻辑层进行封装或处理,实在不行还可以继承基类,实现自己个性化得数据访问方式(实体框架可参考我原来的博文,原来只是解剖一下,这次我将自己的想法基本实现了。当然缓存和数据库差异只是简单的处理了一下)。
业务逻辑层:进行业务逻辑处理,基本的业务逻辑也可以用工具生成。实体属性参照也在这里处理,我的实体增加了两个字典属性:值参照和路径参照。在这里处理的好处是简单,客户端实现起来还是比较麻烦。
WFCRIA服务层:两个功能,一是安全检查,二是简单的调用相关的业务逻辑。基本的服务都封装在基类中,具体的服务类主要用于定义非标准服务。
客户端数据服务层:负责与服务端打交道,可代码生成。
MVVM模式:采用微软开源的轻量级类库。做了大量的改造,实际上只是利用了这个框架的消息类。
VM:大量的利用了属性索引器绑定功能,做了基类,可实现一般业务的大部分功能。标准功能可也可以代码生成。
V:V的代码很少,基本都是标准的。
整个框架到今天,有了一个标准的实现,而且效果还不错,特此纪念一下,也感谢同事们的努力,人少但力量不小。当然也希望我的做法对大家有借鉴。
PS:其实很多东西本来可以封装的,想想还是算了,太累。
分享到:
相关推荐
一个简单的 Silverlight 4 应用程序(MEF+ MVVM+ WCF RIA Services)配套源代码及安装文件 本文是Weidong Shen先生在CodeProject上的文章源代码
silverlight4+mvvm+RIAService搭建的一个小型的学习型demo,方便广大初学者学习和研究!
A reference project that demonstrate how to build a task management application with WCF RiaServices, Silverlight 4.0, MEF, MVVM, and Telerik Controls. Requirement: VS2010, Silverlight 4 RTM, ...
Silverlight 4.0 + WCF Ria Services 4.0 + MVVM + MEF
DEMO1-MVVM+RIA Service
快速开发框架java+mvvm+retrofit+viewmodel+livedata
MVVM + RAC框架ViewModel: 相比较于MVC新引入的视图模型。是视图显示逻辑、验证逻辑、网络请求等代码存放的地方,唯一要注意的是,任何视图本身的引用都不应该放在VM中,换句话说就是VM中不要引入UIKit.h (对于image...
Silverlight 4 in Action - Silverlight 4, MVVM, and WCF RIA Services
EF+WCF+WPF(MVVM)框架简单示例
MVVM+Objection路由框架
项目使用了ReactiveCocoa框架,实现了MVVM架构,使用MVVM架构主要目的是分离视图(View)和模型(Model)。
Mvvm: ViewModel+LiveData+DataBinding+Retrofit+Room实践
MVVM+Rxjava+retrofit的一个小demo,适用于新手开发。 MVVM基于databinding,在android 5.0以后比较火,相对于mvc,mvp做到了代码解耦,模块清晰,值得学习。
WCF RIA Services+Mef+MVVM实现CRUD示例源码 实现了雇员的增删改查,雇员表(Employee)和部门表(Department)、雇员类型表 (EmployeeType)有外键关联,并和字典表(DataDict)有字典关系 示例采用技术说明: 1、...
MVVM+协程+Retrfit+Okhttp+NavigationFragment跳转(多Fragment) Gradle Step 1 dependencies { implementation 'com.github.zxyUncle:zxyMVVM:1.0.0' } 1、网路请求ViewModel class VMMainActivity : ...
协程-流程-模块化:清洁架构模块化项目:MVVM +协程+流程+ Dagger2 + LiveData + UnitTests + UITests + MockWebServer
MVVM+Retrofit+协程的网络框架封装,简单易懂,MVVM+Retrofit+协程的网络框架封装,简单易懂。
一个经典的silverlight开发架构,使用了MVVM+PRISM对初学者来说再适合不过了
基于mvvm+dragger2+refoit+databing的android框架,基于mvvm+dragger2+refoit+databing的android框架!
MVVM项目开发包,结合了MVVM+RXjava+retrofit2+Okhttp等,githup中的项目更为详细,并有详解