001 Laura.SqlForever架构的基础(Laura.XtraFramework 的变迁之路)

 

Laura.XtraFramework 到底是 做什么的?

Laura.XtraFramework 是一个 WinForm 系统的 UI底层:

>实现 大中型WinForm系统的 UI插件布局

>具体包括 文档子窗体,导航栏,工具栏,右键菜单 的 插件嵌入

>解决 大中型WinForm系统开发 中的多种问题:

>多人多次操作 同一个类 时,造成的 代码质量 降低;

>多人多次操作 同一个类 时,引入 新的BUG

>多人操作 同一个类文件 时,等待他人操作 的 时间浪费;

>通过 插件嵌入 的方式 对软件 进行扩展 —— 在不改变 之前版本的基础上,实现 功能的 新增 或 改写

>最最重要的是,封装 复杂的代码,简化插件扩展方式,降低开发门槛 —— 让 应届毕业生 都可以 模仿写插件,在 不需要 对内核进行理解的基础上 就能 实现 相对复杂的功能;

 

Laura.XtraFramework 只能实现这样的 WinForm UI布局:

>打开 VS2010SqlServer2008客户端 你会发现布局 有一个 共同点:

『练手』001 Laura.SqlForever架构基础(Laura.XtraFramework 的变迁)

『练手』001 Laura.SqlForever架构基础(Laura.XtraFramework 的变迁)

       >上图:红色区域 是 导航栏; 蓝色区域 是 工具栏;粉色区域 是 导航窗;

       >上图:更 习惯 是 子窗体 类似 选项卡控件 一样的打开方式(图中没有打开 子窗体 进行标记);

>是的。Laura.XtraFramework 就是 对 这类WinForm UI布局的封装(之后,会有基于 Laura.XtraFramework 的项目截图);

 

 

Laura.XtraFramework 升级变迁

『练手』001 Laura.SqlForever架构基础(Laura.XtraFramework 的变迁) 

BaseUserInterface 和 Laura. WinFramework 基于 .Net Framework 2.0控件库 + 第三方 WeifenLuo.WinFormsUI

BaseXtraUserInterface 和 Laura.XtraFramework 基于 第三方DevExpress控件库

所有变迁 的版本用到的是 现有优秀的第三方布局控件库——而Laura.XtraFramework 更多的偏向于 架构;

 

Ps.   好吧,我承认:你也肯定 看到了 “2012-05仿进销存Invoicing”—— 这也太抢眼球了吧。

这和 2012-05 所在的 创业时期 有关系。

这个 仿进销存项目 写了 2个月,只写完了底层和所有需要的组件 —— 具体进销存逻辑 是没有实现的。

仿照的是 管家婆进销存系统(虽然 之前有过 金蝶的相关工作,但是 金蝶系统 没能在网上下载到)。

 

为什么 SqlForever项目 要 一写再写

>各位 也看到了,SqlForever 经历过 三个版本。基本就 伴随着 Laura.XtraFramework 的升级而改写;

>作者 喜欢 跨数据库,之前写过 Laura.Source 跨数据库ORM框架;

>SqlForever 就是一个 跨数据库 的客户端软件(目前支持 五种数据库);

>更重要的是 SqlForever 支持 跨数据库 数据迁移(比如 可以 从 SQLServer 数据库 转移成 MySql数据库:并且 保存主键,自增,和可以兼容的默认值);

>其实,SqlForever 一写再写,确实 是 面试 时的 被逼无奈:

>自己从不带走之前公司的源码,面试时 被问到 之前的项目,我也只能空口白牙 —— 信不信全看 面试官的主观。

>部分面试官 问技术:JQueryMVCEFAjax 等 这些技术 十有九人 都能说出来 —— 自己说得再好,也只是 90%

>单凭 Laura.ComputeLaura.SerializationLaura.WebControlLaura.Source 这几个 王牌算法,确也辛亏 博客园斑竹 的推荐。但是,算法毕竟是 底层 —— 面试官 看不到算法的 适用前景。

       >综上所叙:我的面试 完全 体现不出 优势啊 —— 有木有。

>2012-05仿进销存Invoicing很抢眼,但是 面试 不敢拿出来(因为没人相信 22岁的年轻人 敢拿 进销存开刀 —— 拿出来了 反而 更容易落一个 弄虚作假 的印象)

>SqlForever 的 升级过程 由简化繁, 或许能 让面试官更容易接受2012-05仿进销存Invoicing的存在。

 

Laura.XtraFramework 相关项目截图

WebCreate 2.5 代码生成器

『练手』001 Laura.SqlForever架构基础(Laura.XtraFramework 的变迁)

SqlForever 2.0 跨数据库客户端(如果不是 窗口标题,你能看出 这是一个 山寨项目 么)

『练手』001 Laura.SqlForever架构基础(Laura.XtraFramework 的变迁)

SqlForever 2013 跨数据库客户端(兼容了更多的 数据库)

『练手』001 Laura.SqlForever架构基础(Laura.XtraFramework 的变迁)

SqlForever 2014 跨数据库客户端(完全移植于 SqlForever 2013 —— 6个散漫小时即完成 底层的转换 [如果不是 因为 Laura.XtraFramework插件架构思想,这个工作 至少得 60个高压小时 且不保证不产生 BUG]

『练手』001 Laura.SqlForever架构基础(Laura.XtraFramework 的变迁)

2012-05 仿进销存 Invoicing

『练手』001 Laura.SqlForever架构基础(Laura.XtraFramework 的变迁)

 

 

Laura 到底是谁,为什么用这个 名称的 命名空间?

>2005年,电视中 播放过一个 动画片 《查理 和 罗拉》 —— 那时 和亲妹 就 不自觉的 对号入座。

>2008年,给 亲妹 写信,正式 用到了 Charlie  Laura

>2013年,之前的 SVN 版本库 Project 存在很多问题,准备另外 开辟 版本库:

> Project的 主命名空间 Beetle是 大学时期的“屎壳螂”团队 的名称,但是 不想再用;

>不知所爱,处在 情场动荡期,所以 不敢贸然挑选 其她女子的英文名;

>天长地久,最能信赖的 女子 或许就是 亲妹 了 —— 于是,最后选择了 Laura

>Ps.   最终,找到8年前的 动画片 《Charlie And Lola》—— 即 Laura 是一个历史遗留 的 错误名称

>Ps.   2013-12-21,开辟 新版本库 Siyu 专门用于 尝试 顶级人工智能算法(一个注定会失败的算法)。

 

 

好啦,至此 Laura.XtraFramework 的变迁 已经介绍完成。

之后的 系列文章 将 专门介绍 Laura.SqlForever

 

 

                                                                    舒小龙

                                                               2014-02-11 20:03                                                                                                                                                                                                                                                                                                                   

相关文章:

  • 2021-07-17
  • 2021-12-05
  • 2021-12-01
  • 2021-06-29
  • 2021-11-20
  • 2022-12-23
  • 2021-12-06
猜你喜欢
  • 2021-06-06
  • 2021-12-02
  • 2021-10-15
  • 2021-11-26
  • 2021-07-25
  • 2021-09-15
相关资源
相似解决方案