摘要: 之前 OEA 一直用着一个 Delphi 开发的报表,所以两年来我一直就想在 OEA 中构建一个纯 .NET 的报表模块,但是一想到要开发复杂的报表引擎和设计器就觉得麻烦。所以这事一直拖着。最近开始研究一些成熟的报表引擎,经过对比,还是发现微软的 RLDC 报表已经能满足我大多数需求。其中包括表格、矩阵、图表 等复杂控件,同时同样的报表格式在 B/S 模式下也可以直接使用,最新的 Tablix 控件非常灵活,能实现大多数表格样式。所以我决定不再费时费力去造一个轮子,而是直接把微软的 RDLC 报表集成进来。最终集成到 OEA 中,只花了不到一周的时间。虽然现在还处在第一版,没有给客户使用的设计 阅读全文
posted @ 2012-09-07 16:15 BloodyAngel 阅读(2685) 评论(9) 推荐(2) 编辑
摘要: WPF 中 Graphics 相关的类有时候看起来比较晕,有些类的命名也比较相近,所以画出下面几个图,帮助记忆: 1. Geometry 几何图形 2. PathGeometry 路径几何图形 3. Shape 4. Drawing & Visual 阅读全文
posted @ 2012-09-07 14:35 BloodyAngel 阅读(2564) 评论(0) 推荐(1) 编辑
摘要: OEA 框架提供了多种方式来优化分布式数据查询的性能,本篇将会说明如何以声明 OEA 冗余属性的方式,来实现轻量级的数据冗余,以减少关联查询次数及网络数据传输量,提高分布式应用程序性能。 冗余属性功能说明 OEA 冗余属性在框架层面提供了一种易用的机制,把指定冗余路径的关系对象中的属性值复制到本对象中,以解决关联查询、关联数据量等性能问题。应用开发人员只需要简单的定义一个冗余属性,而... 阅读全文
posted @ 2012-08-10 20:37 BloodyAngel 阅读(2023) 评论(2) 推荐(1) 编辑
摘要: WPF 是一个界面层框架技术,要对 WPF 技术达到熟练运用的程度,需要同时拥有开发和设计两方面的知识。而我作为一名开发人员,以前的总结都是站在开发人员的角度,今天这篇博文则期望更多地站在设计人员的角度来进行总结。其实,开发人员比较难理解WPF 框架中为什么会提出 Style、Template、Command、State、StoryBoard、Trigger 等这些概念,但是当你看一看 Flash 或者 PhotoShop 的设计人员平时的工作,就会发现原来许多概念早已是他们的常识,而 .NET 只是把这些概念在 WPF 框架上加以实现而已。 最近接了一个 WPF 的活,对方要求我按照他们美工 阅读全文
posted @ 2012-07-29 18:09 BloodyAngel 阅读(8728) 评论(14) 推荐(10) 编辑
摘要: 前言 之前做网站时有做代码防御 XSS(Cross Site Script) 攻击,但是却只处于了解的阶段,并不知道其中具体的原理,更别说使用了。最近有朋友要求我帮助他 Hack 一个网站,达到一定的目的。思考来思考去,最后想了一套方案,并最终成功实施。现在回想起来,整套解决方案中,其实主要就是 X 阅读全文
posted @ 2012-06-30 21:24 BloodyAngel 阅读(1472) 评论(0) 推荐(1) 编辑
摘要: 在软件开发中,从需求工程到代码工程,都离不开 UML 图的绘制。今天简要总结一下我以往使用 UML 图的一些体会。 很多图,都是由原始需求到代码的一种转换,只是转换的程度不一样。在软件开发过程中,不同的阶段需要不同的 UML 图,在选择使用哪些图时,我们必须理解该图能表达一些什么,即它的主要用途,以 阅读全文
posted @ 2012-05-23 15:14 BloodyAngel 阅读(3184) 评论(0) 推荐(0) 编辑
摘要: WPF 中命令的 CanExecute 执行逻辑,我一直觉得比较麻烦,画出来就清晰多了,备忘: 阅读全文
posted @ 2012-05-18 09:58 BloodyAngel 阅读(3479) 评论(0) 推荐(0) 编辑
摘要: 今天做了一个 VS 的插件,给大家分享下。暂时有以下三个功能: *添加文件头 在任意文本页面,点击该按钮,可添加文件头: 格式可以在插件对应目录下的 hxyAddIn_FileHeaderTemplate.xml 中修改: ,内容如下: <?xml version="1.0" encoding="utf-8" ?> <FileHeaderTemplate> <NowFormat>yyyyMMdd</NowFormat> <Content> <![CDATA[/*************** 阅读全文
posted @ 2012-05-10 12:45 BloodyAngel 阅读(4142) 评论(9) 推荐(6) 编辑
摘要: 在 OEA 平台 设计中,需要支持多种数据库,这至少包括了 SqlServer、Oracle、一个单机文件数据库。而之前对于这一块,我们一直没有实现,只是预留了许多接口。昨天花费了一天的时间,让 OEA 支持了本地数据库 SQLCE。 为什么要支持本地数据库呢? 支持开发简单的本地软件。 偶尔需要一些比较小的应用程序,例如“个人计帐管理”、“个人联系方式管理”等。这些... 阅读全文
posted @ 2012-04-25 13:08 BloodyAngel 阅读(5187) 评论(5) 推荐(5) 编辑
摘要: OEA框架 从 2009 年发布“第一个版本”之后,历时三年,现在终于又公开向大家开放最新的源代码。三年来,许多朋友都关心 OEA 是否还在开发,是否还会开源。其实,我们一直在不断改进和完善它。其间,2011 年 4 月,我也向大家简单地展示了当时的使用示例:《OEA 框架演示 - 快过原型的开发》 阅读全文
posted @ 2012-03-30 23:28 BloodyAngel 阅读(7901) 评论(22) 推荐(7) 编辑
摘要: 之前做秒杀器的时候,使用的是 WPF 客户端,借助 HttpWebRequest 来实现远程调用。后来看到别人抢火车票的软件是一个 Chrome 插件,发现这样写起来要简单太多了。一直想搞一个插件。今天比较闲,做了一个简单的插件,用于一次性打开多个连续的连接地址,例如这个网页:它一共有 15 页。一页一页点实在太累,这时,可以使用这个插件,点击一下,弹出以下窗口:Url 已经根据当前的连接地址修改好了,调整部分系数,点打开,即在 chrome 里面打开了所有的网页,看完一个关一个就好了:这样一次性加载好,不用点一下等一会儿。有兴趣的朋友可以下载下来玩下,看源码的也行,非常简单,下面是程序和源码 阅读全文
posted @ 2012-03-28 17:10 BloodyAngel 阅读(2247) 评论(2) 推荐(0) 编辑
摘要: 简要说明 OEA 1.0-2.0 框架中,界面都是以 WPF 技术作为基础平台开发的。我们需要对开发出来的系统进行自动化测试,而 .NET 平台的自动化测试平台在公司内部还没有其它部门完成,所以我们在 2010 年的时候使用 Ruby + VS UIUnitTest 开发了一个 UI 自动化(UI 阅读全文
posted @ 2012-02-14 16:33 BloodyAngel 阅读(9671) 评论(8) 推荐(4) 编辑
摘要: 11年11月我主要对 OEA 框架中 WPF 自动界面生成模块中多类型树型表格控件进行重构,并同时支持更多的功能。这样,整个 OEA 就不再使用 DataGrid,结束了 DataGrid 与树型表格控件混用的情况。 树型表格、一般表格统一为一个控件: 另外,附上对重构前的控件类结构设计分析图: 阅读全文
posted @ 2012-01-19 15:24 BloodyAngel 阅读(552) 评论(0) 推荐(1) 编辑
摘要: 这篇设计文档是 12 月份写来参加公司的研发峰会的,自己倒是信心满满,不过最后还是没有入围。现在想想也没啥大用,所以贴出来,期待与园友交流。 文档有点长,没全部贴在博客中,有兴趣的可以下载附件中的 PDF。附件:《实体扩展属性系统-系统设计说明书.pdf》================= 分隔线 ======================目录 前言... 4 1 背景与需求... 5 1.1 产品 721 客户化开发的需要... 5 1.2 实体动态列... 6 1.3 分离只读/视图属性... 6 1.4 提升框架性能... 6 1.5 支持 WPF 绑定... 6 1.6 其它需求.. 阅读全文
posted @ 2012-01-11 21:10 BloodyAngel 阅读(5401) 评论(8) 推荐(4) 编辑
摘要: 本篇博客主要说明如何使用 UI Virtualization(以下简称为 UIV) 来提升 OEA 框架中 TreeGrid 控件的性能,同时,给出了一些学习 UIV 的资源。问题 最近对 OEA 的 TreeGrid 控件进行了比较大的改造,并使用新的控件来替换了系统中所有的 DataGrid 控件。新的 TreeGrid 控件实现了很多新的功能,(之后会写一篇文章说明),但是最后遗留了一个问题:由于使用它替换了原来的 DataGrid,而 DataGrid 默认是支持 UI Virtualization 的,当有些界面的数据量比较大时,没有支持 UIV 的TreeGrid 控件就显得有些. 阅读全文
posted @ 2011-12-12 00:14 BloodyAngel 阅读(10609) 评论(7) 推荐(12) 编辑
摘要: 为 OEA 框架 做 WPF 树型表格控件时,浪费了许多时间在一些知识点上,所以写了这篇博客总结一下,和各位博友分享。ICollectionView 接口的简易使用方法 它的 SortDescriptions、GroupDescription 等属性会影响视图的结构,一般情况下会自动刷新。 也可以直接使用 Refresh 方法来命令视图的刷新(内部实现一般为重建内部视图模型集合)。 如果是批量操作,也可以使用 RefreshDefer 方法来抑制多次刷新,待多个更新操作后再统一刷新。CollectionView 相关知识点 实现它的类是 CollectionView,... 阅读全文
posted @ 2011-11-19 19:26 BloodyAngel 阅读(4060) 评论(0) 推荐(4) 编辑
摘要: 时间有限,简单快速的完成本篇博客……(很多问题在此就不细说清楚了,主要还是记录一下成果。) * 先是整个子系统要完成的需求列表: * 然后是对它的分析,以及整个逻辑方案的结构。 图中的“概要”部分同时说明了静态结构和运行时时期的划分。 * 以及,这样的结构,如何实现整个需求的描述: * 逻辑方案中的静态结构,主要还是看以下的类图设计: 第一张,自然是托管属性本身的结构设计。当时只考虑了编译期属性的实现,后来添加了运行时属性的实现。二者实现方案不同,前者使用数据,后者使用哈希表,主要是为了性能及动态之间的权衡。 使用托管属性的... 阅读全文
posted @ 2011-10-30 11:47 BloodyAngel 阅读(843) 评论(0) 推荐(1) 编辑
摘要: OEA 将会使用最新的扩展属性系统来编写实体类,而这些实体类需要绑定到WPF界面上。那么,扩展属性如何支持绑定呢?下面的图是分析在 WPF 中如何支持 DataTable 的动态列绑定。之后的 OEA 扩展属性系统中,会做出类似的设计,以支持绑定扩展属性。 图1 WPF 中 DataTable 支持绑定的核心类分析 图2 WPF 中为 DataTable 生成视图模型的流程图 阅读全文
posted @ 2011-10-30 11:28 BloodyAngel 阅读(716) 评论(0) 推荐(0) 编辑
摘要: 【现象与案例】 八一七培训。 【感谢】 感谢老江如此辛苦地为大家培训,感谢所有辅导员,你们睡得比学员晚,起得比学员早,给学员带来这种有意义的培训。感谢洪星,大半夜不睡觉和我沟通,帮助我渡过思想上的难关。 【反思】 反思的东西实在太多了,真要挨个写下来的话,实在太花时间。所以挑重点的写写吧,我也简单,看的人也简单。 培训中,我学会了一些知... 阅读全文
posted @ 2011-09-13 20:56 BloodyAngel 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 随手理了理 RoutedEvent 相关的几个知识点: 阅读全文
posted @ 2011-09-02 15:30 BloodyAngel 阅读(525) 评论(0) 推荐(0) 编辑
摘要: 上个月写了《框架模块设计经验总结》,这个月写了一些相关的流程的图,用于规范开发组的日常开发活动。时间比较晚,不过多解释,图也比较简单。 前两幅图是规范了在 OEA框架开发过程中,代码的管理流程: 第三张图主要规范了开发组内部如何进行框架的开发活动。 阅读全文
posted @ 2011-08-30 22:59 BloodyAngel 阅读(1773) 评论(1) 推荐(0) 编辑
摘要: 三个月没写日志了,比较懒散……下半年准备做OEA 的 B/S 版本,比较复杂,需要从架构设计开始认真入手。正好今天到了部门反思的时间,今天先把原来的一些设计经验总结一下,以方便将来回顾。 直入主题,这篇日志主要用于总结一些框架级别的模块设计经验。总述 一个大型的框架,必然由多个较独立的子系统/子模块构成。这些子模块如何交互,之间的接口如何定义,这是框架的架构设计的问题。而今天我主要要总结一下,针对其中的某一个子模块,应该如何进行设计。(例如,在 OEA 中有这些相对独立的模块:分布式框架、实体框架、界面生成框架、命令框架、产品线框架、分布式缓存框架、报表模块……) 我在对一个模块进行设计时,. 阅读全文
posted @ 2011-07-15 16:33 BloodyAngel 阅读(7689) 评论(3) 推荐(7) 编辑
摘要: 这篇文章和《PDA感悟》一样,是对一年前学习到的相关知识的一个应用反思。 写它,是为了完成每月反思,也是为了完成我这个月的目标,更是为了积累项目流程经验。 之前已经看过刚进公司的时候,由于项目组需要使用 Scrum 作为流程来进行软件开发,所以当时看了一遍《Scrum and xp from th... 阅读全文
posted @ 2011-04-15 13:26 BloodyAngel 阅读(2635) 评论(11) 推荐(6) 编辑
摘要: 作为一个开发人员,个人管理这些软件技能可以说和开发技能一样重要。 之前写了一篇《PDA感悟》(还有《脑子是用来想事的,不是记事的》),主要是对过去一年来使用PDA来进行GTD和个人管理的情况进行总结。在公司里,和组内的同事们进行了分享,最后还拿了个“反思奖”。他们提出要求要我进一步分享我个人做时间管理的模板和小工具。这里我把这些东西打了一个包,顺便发上来和园友们进行一个分享。 主要包含:计划模板(月模板/周模板/任务管理模板)小工具组(快捷文件管理器/每日记事/定时器)极力推荐前两个小工具,应该会对你有所帮助。 :) 其中的小工具,除了定时器,其它两个都需要安装 .net 4.0 才能运行.. 阅读全文
posted @ 2011-04-11 23:02 BloodyAngel 阅读(3083) 评论(8) 推荐(3) 编辑
摘要: OEA框架经过几次较大的重构后,已经慢慢地变得成熟。 09年末、10年初的时候,我们发布了《OEA1.0》。至今也一年多了,中间我们并没有发布它最新的源码。所以有些朋友问到是不是这个框架已经停止开发了。 那么今天呢,我个人录制了一个简单的视频,来说明一下,OEA目前的使用方法,有兴趣的朋友也可以了解一下这个框架当前的进展。 视频中,我简单地录制了如何做一个小型的《图片管理系统》。我先随便列举几点 OEA 目前做到的功能:快过原型:在理解领域模型的基础上,要搭建整个应用程序,扣除中间的一些讲解占用的时间,完全可以在5分钟内完成。真正做到“快过原型”。基于产品线开发:能让开发项目快速转换为开发产. 阅读全文
posted @ 2011-03-26 12:22 BloodyAngel 阅读(6965) 评论(19) 推荐(6) 编辑
摘要: 由于之前已经尝试使用过 EF CodeFirst CTP4,所以这次在EF4.1发布的第三天,在 OEA 框架中已经支持使用它来实现数据访问层。而且,我们准备逐渐把原有的较量级ORM框架给替换掉,并且使用EF中的元数据系统来完全充当 OEA 中的 ORM 元数据,以便使用这些映射信息来实现一些更多的 阅读全文
posted @ 2011-03-25 20:51 BloodyAngel 阅读(4002) 评论(2) 推荐(4) 编辑
摘要: 又到了一月反思时,思绪乱飞,无从谈起…… 谈谈PDA吧。 09年8月份入手第一个智能手机,一直用到现在,发现生活越来越离不开它。10年11月份秒了一台平板电脑,到目前为止,发现同样的一个现象:离不开了!如果回到过去,问我自己,5000元一台买不买,我的答案一定是:买!现在就来回想一下,为什么会感觉自己完全离不开这些新的PDA呢? 先说手机, 当时买这个手机的时候,完全是出于兴趣,4500入手,买... 阅读全文
posted @ 2011-03-14 21:43 BloodyAngel 阅读(1594) 评论(5) 推荐(1) 编辑
摘要: 今天突然发现,去年做的峰会会议笔记,内容还不错,传上来做下记录。贾总: 质量相关: 温昱 峰会.mmap.rar 阅读全文
posted @ 2011-03-08 09:42 BloodyAngel 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 前言 最近看了《FDG 2nd Edition》,也适当做了些笔记,在这里写这篇文章的目的主要有两个,一是对自己学习的一个记录、积累;另外,还可以用这篇总结向一些有需要的朋友推荐这本书。书籍总结 这本书是MS公司的框架设计师,经过多年框架开发后的经验总结。 首先,它是一本设计规范。该书从规范的角度,规定了一个好的框架应该满足哪些条件、不应该犯什么错误。它从粗细不同的各个维度详细地列出了很多规范,细则细到变量名的命名,粗得粗到.NET中的模式应用规范。(早知道有这样一本书,我们就可以不用再为项目组编写代码设计规范了。哈哈。) 其次,这不但是一本“规范”,更是一本.NET平台上进行程序设计的指导. 阅读全文
posted @ 2011-03-07 21:25 BloodyAngel 阅读(3333) 评论(2) 推荐(2) 编辑
摘要: 本篇博客依然用于总结工作中遇到的较有用的设计模式。 入正题。 历史代码 我目前开发的系统中,要实现以模块的方式进行动态扩展。这些模块是以独立程序集的方式嵌入到系统中。原系统中,使用了一个简单的接口 IModule 来实现模块的初始化:public interface IModule{ void Initialize();}这样,在应用程序初始化时,会检测指定目录 Modules 下的所有程序集,并对其中所有实现 IModule 接口的类型进行初始化调用:public partial class App : Application{ protected override... 阅读全文
posted @ 2011-02-22 11:03 BloodyAngel 阅读(2842) 评论(11) 推荐(13) 编辑
摘要: 20110918 添加 Glodon 任务规划20110612 修改经过年中分析,把下半年目标定为:重心转向技术开发,有闲暇的时间就继续完成年初计划中的其它项。在技术学习方面,注意:不要花太多时间在开发“小系统”上,也不要花太多在学习“不必要”的技术上。要有目的性和成本观念。年度内,至少完成 OEA 的分页;B/S 和 100%完成C/S 之中至少一项。至少使用一个项目测试 OEA。 20110215了解创业:10%整理出创业能力要求体系,并制定后几年的具体目标。 学会理财:10%学习两本理财(股票)方面的书籍。制定理财方面计划。 重捉管理:30%以管理小作坊为目标,学习管理类知识;思考如何提 阅读全文
posted @ 2011-02-15 22:09 BloodyAngel 阅读(611) 评论(9) 推荐(0) 编辑
摘要: 2011年的计划到现在还没有做出来,最主要的原因是10年的方向并不清楚。趁着过年在家闲着的这段时间,把《我也能做CTO-程序员职业规划》这本书看一看,希望能对年度计划有所帮助。截止今日,已全部读完,以下是读书笔记。 最后一章,由于离目前的我还较远,所以并没有做详细的记录。 一些其它的想法/收获: 阅读全文
posted @ 2011-02-10 19:51 BloodyAngel 阅读(769) 评论(2) 推荐(1) 编辑
摘要: 整个命令系统的流程如下: CommandManager 负责监听一些它关注的属性的更改(例如:Focus、Click),当界面上有此类事件发生时,它会通知所有的 RoutedCommand 发生 CanExecutedChanged 事件。 这时,已经绑定了这些 RoutedComamnd 的 CommandSource (主要是各类控件),会调用 RoutedCommand 的 CanExecute 方法来检测是否可执行,并根据返回的结果来设置自己的状态。如,当返回可执行时,作为 CommandSource 的按钮则会设置自己的 IsEnabled 属性为 true。此时,如果用户“点击” 阅读全文
posted @ 2011-01-24 09:42 BloodyAngel 阅读(1242) 评论(0) 推荐(1) 编辑
摘要: 读书的一个流程分析:以下是读书笔记/Files/zgynhqf/如何阅读一本书.rar 阅读全文
posted @ 2011-01-17 09:05 BloodyAngel 阅读(835) 评论(1) 推荐(1) 编辑
摘要: 今天成绩下来了,本来以为要等到1月17号才会发布,一直没查,还是朋友帮我查了,我才知道已经考试通过了。之前简单地在《2010目标》中描述了一下去年考试的过程,现在既然过了,正好又到了一月反思的时候了,就决定再写这篇博客详细记录一下去年考架构师的整个经历。为什么要考架构师? 09年12月定的计划,当时定这个目标的原因有以下四个:办北京户口。我09年9月份到现在的公司上班。刚到公司的时候,虽然我是是属于社招进来的,但是自己毕竟是当年毕业的应届生,所以就主动问人事部,是否可以为我办北京的户口。得到的答案当然是不行,只有研究生才可以。但是,还得到另一消息说,本科生考取国家认定的高级职称后,在高新技术 阅读全文
posted @ 2011-01-13 21:21 BloodyAngel 阅读(7719) 评论(8) 推荐(6) 编辑
摘要: 本文记录对某网站A的秒杀活动编写秒杀器的经历和技术重点。 故事回顾 某日早上,朋友给我说最近A网站在开展秒杀活动,有IPad、IPhone,让大家一起去秒杀。结果我们四个人一起秒,都没有别人快,没有一个人秒到。然后下午我就开始尝试分析它网站的秒杀流程,并尝试使用自动提交数据的方案来进行秒杀。结果,在晚上的时候,成功做出了第一个版本的秒杀器,然后我们一起秒杀了几个IPad(大家都想要IPad,而对... 阅读全文
posted @ 2011-01-07 23:13 BloodyAngel 阅读(10993) 评论(10) 推荐(6) 编辑
摘要: 之前写过几篇关于聚合对象SQL的文章,讲的是如果设计框架,使用一句SQL语句来加载整个聚合对象树中的所有数据。相关内容,参见:《性能优化总结(二):聚合SQL》、《性能优化总结(三):聚合SQL在GIX4中的应用》。由于没有使用其它的ORM框架,当时项目组决定做聚合SQL,主要是为了减少SQL查询的次数,来提升部分模块的性能。现在看来,当时虽然达到了这个目标,但是聚合SQL的API却不简单,使用极为不便。至今,项目组中的其它人也不会使用。所以,这次我们决定把聚合SQL的API使用再次进行封装,以达到使用起来更简便的效果。 本文中的内容与前面几篇的内容、与OEA框架中的内容相关性比较大,有兴趣的 阅读全文
posted @ 2011-01-07 16:48 BloodyAngel 阅读(1709) 评论(2) 推荐(2) 编辑
摘要: 上篇文章《OEA中的AutoUI重构(2)- 评审会议前的总体设计》写了在“OEA框架”中进行AutoUI模块重构的设计方案。最近项目组已经召开了评审会议,并对该设计进行了审核、建议。本篇文章主要记录其中一些主要的改动。 设计改动 大家认为 AggregateBlocks 和 BlockDefinition 的设计过于复杂,不易于理解。考虑的东西太多,有过度设计之嫌,所以这一处的设计改为使用Composite模式来组合“UI块”: 另外,上次的设计中,有一个小错误:不应该把元模型的仓储 UIInfoRepository 放在单个的界面组成单元中,而是应该放在更上层的整个界面的元模型层。 相应 阅读全文
posted @ 2010-12-20 17:58 BloodyAngel 阅读(548) 评论(1) 推荐(2) 编辑
摘要: 今天参加了一年一度的《中国软件工程大会》,听了许多前辈在台上精彩的演讲,自己也有很多感触。接下来,我会先把几个重要的演讲总结一下,最后再写一个自己的心得。项目经理领导力演讲者:田俊国领导力和领导二者并没有直接关系。很多名为领导的人,常常被下属牵着鼻子跑。达成共识、目标共享一个搬梯子的故事形象地解释了和下属共享目标的重要性。要做冰山下的沟通一座冰山,只有很少的一部分是露在水面上的。如果只做表面的沟通,往往不是最直接的,也不能很好地达到沟通的目的。做一个高自尊的人气球原理要当领导,至少你的气球要能包容你下属的气球。做好教练势利权形情类似于金木水火土、仁义理智信。软件企业常见问题和系统性解决方案 演 阅读全文
posted @ 2010-12-19 11:25 BloodyAngel 阅读(578) 评论(2) 推荐(2) 编辑
摘要: 之前已经写了一篇关于其中Command模块的重构:《OEA中AutoUI重构(1) - Command自动生成》。Command自动生成的重构作为本次重构的一个“前锋战”,尝试用OO的方式把原来的过程式的界面自动生成流程进行优化,以支持更好的可扩展性。Command自动生成较为独立,所以就单独先进行了重构,目前重构已经完成,效果较好:和原有系统完成兼容,同时插入了更多必需的扩展点。 本次重构主要... 阅读全文
posted @ 2010-12-17 15:17 BloodyAngel 阅读(1448) 评论(1) 推荐(3) 编辑