当前位置: 首页 > news >正文

CSLA - 介绍以及学习资料

介绍

  OpenExpressApp使用CSLA作为类库,所以想要使用OEA之前必须对CSLA有所了解,但是发现虽然国外CSLA使用的比较多,但是国内的可能还是知道CSLA的多,但是 真正使用的少,为了让大家对更方便的使用OEA,我准备有时间写一些与CSLA相关的博文和大家分享,也算给想使用CSLA和 OpenExpressApp的开发人员一些指导。本篇作为这一系列的开篇,主要对CSLA做个总体介绍,后续将会对一些重要内容进行单独介绍,并会结合 OpenExpressApp介绍如何使用CSLA构建分布式应用程序。如果有谁在用CSLA作开发或者关注它的请回复一下,我想看看国内使用的情况.

  CSLA是Component-based, Scalable, Logical Architecture的简写,CSLA .Net是Rockford Lhotka基于.Net设计的一套N-tier分布式框架。 这个架构发展了十几年了,是一个我目前觉得最好的业务对象框架。这个架构学习曲线还是有点高的,理解起来就像作者书上所写的,必须有一定OO思想的开发人员才能更好的学习,否则学习起来肯定有点难度。CSLA一直持续完善着,对所有微软技术都提供增强和支持,对WPF、WCF和Silverlight都提供支持。

  它是一个分布式环境下的实现N层部署的框架,通过简单配置就可以支持单机、局域网和广域网,所以OpenExpressApp应用也可以支持这几种部署。它强大而灵活的业务对象层包含了数据门户、业务规则、用户验证、多级撤消和保存等功能。

  它提供给外部使用的类库其实并不多,以下为主要类库,以后我会再仔细介绍。

2009112218073541.png

设计目标

 

  •  完全支持数据绑定(WPF、Silverlight、WinForm和WebForm)     
  •  对象状态追踪(新增、修改、删除状态,理解这些状态非常重要)   
  •  验证规则处理
  •  授权
  •  多级撤销功能,用来支持实作取消按钮,和复杂分层的用户接口(UI)    
  •  数据层不强制与数据库接口,可以很好的使用第三方ORM
  •  强类型对象
  • 简单的UI开发模型
  • ......  

网站

CSLA站点

CSLA .NET在线论坛

Windows CE版CSLA

CSLA .NET下载页面

源码

SVN地址:svn://svn.lhotka.net/csla/trunk

Sample地址:svn://svn.lhotka.net/csla/samples

参考书籍

s3065580.jpgs3570831.jpgExpert C# 2005 Business Objects中文版(第2版)是国内现在唯一一本CSLA的翻译书籍,翻译的还可以,不喜欢看英语的可以先看这本书籍,前面几张概念性的和后面应用案例可以先看,具体框架实现代码感兴趣的话最好也看看。

Expert C# 2008 Business Objects是CSLA的最新版本书籍,主要包括了对.Net 3.5的支持,对于WCF和WPF的最好看看,属性等章节也可以看看。

这两本电子书我都有,VB版本的也有,感兴趣的可以上网下载来看着学习

其它

CSLA .NET 3.6支持Silverlight 2.0

 

productView-pdf_46x35.gif 开源信息系统开发平台之OpenExpressApp框架.pdf

 

欢迎转载,转载请注明:转载自周金根 [ http://zhoujg.cnblogs.com/ ]

转载于:https://www.cnblogs.com/zhoujg/archive/2009/11/22/1608147.html

相关文章:

  • 软粒子
  • gamma空间
  • python中库引用与import
  • 一道有趣的面试题
  • msg to msg
  • sql sever 触发器的概念和使用
  • unity——OnRenderImage深度解读
  • LOD and Reflections Adding Details
  • C-Lodop提示Access violation at address ...in module 'CLodopPrint32.exe' write of address
  • jQuery get post 碎片(远程html)加载
  • 天空盒的绘制
  • webbrowser登录-无id
  • 一秒钟后执行
  • URP中摄像机参数的设置
  • 拷贝深度
  • 【RocksDB】TransactionDB源码分析
  • express如何解决request entity too large问题
  • golang中接口赋值与方法集
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • js如何打印object对象
  • MySQL用户中的%到底包不包括localhost?
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Redis学习笔记 - pipline(流水线、管道)
  • ubuntu 下nginx安装 并支持https协议
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • Yii源码解读-服务定位器(Service Locator)
  • 从零搭建Koa2 Server
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 汉诺塔算法
  • 理解在java “”i=i++;”所发生的事情
  • 如何编写一个可升级的智能合约
  • 无服务器化是企业 IT 架构的未来吗?
  • 一天一个设计模式之JS实现——适配器模式
  • 移动端高清、多屏适配方案
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​io --- 处理流的核心工具​
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #控制台大学课堂点名问题_课堂随机点名
  • (2.2w字)前端单元测试之Jest详解篇
  • (LeetCode C++)盛最多水的容器
  • (MATLAB)第五章-矩阵运算
  • (ZT)出版业改革:该死的死,该生的生
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (转)shell调试方法
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .NET HttpWebRequest、WebClient、HttpClient
  • .Net IOC框架入门之一 Unity
  • .NET/C# 的字符串暂存池
  • .net6使用Sejil可视化日志