自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

窗户纸的博客

镜像地址:http://blog.sina.com.cn/louisding988(可能不一样呦)

  • 博客(34)
  • 资源 (1)
  • 收藏
  • 关注

原创 有关“优秀工作流引擎”的评价

网上到处都有一篇被称为《优秀的工作流殷勤的144个标准》的文章,文章写的很全面,但其对实际应用的满足程度还是需要改进的,我在此抛砖引玉的对其做了写评价和扩展,在我的《面向业务开发应用》博文中有部分体现。希望网友有所借鉴。一般性功能 (General Functions) 1. 免程序开发(No Programming or Scripting)    评论:很多OA工作流厂商都在狂吹自

2012-11-02 17:55:07 1979 1

原创 面向业务理论的原理- 定义操作执行者的环境。

在《面向业务开发应用》中,我们看到业务中的各个操作都需要操作者的处理,因此在构建业务处理体系前,必须具有操作者的环境,根据一般的企业特点,操作者环境是一个如下结构体系:为了便于用户更灵活的进行管理。系统需要有如下特点:1.         多身份管理的支持: 就像潜伏中的余责成所具有的双重身份一样,企业中实际存在大量多重身份的情况,某个员工如果既为销售部工作,又为采购部

2012-10-21 11:31:29 1178

原创 面向业务开发应用

自从计算机出现后,快速便捷的从太平洋一样的文海中找到水滴大小的资料真正成为了可能,而能够帮助人们实现这一愿望的程序员就像中世纪的航海家一样用神秘的代码程序指引着计算机一步一步实现的需求。而他们所用的被称之为“程序”的序列组合,在一般人眼中,有如天书般难读难懂。即使对于程序员来说,实现复杂的业务需求也不是一件容易的事情,这很大程度上归咎于现有的软件设计模式并不科学。在《探索流程的奥秘之三-如何树

2012-10-15 11:47:32 16140

原创 探索流程的奥秘之三, 如何梳理业务流程

软件开发的难点之一是如何了解客户的需求,现实工作中,开发者们就像瞎子摸象一样从用户的根枝末节来勾画需求,而这一方面耗时巨大,另一方面很难获得完整的需求,于是就有频繁的变更,搞得甲乙双方都痛苦不堪。        于是有了面向对象的“敏捷”开发方法,其特点是利用用例图、类图(对象建模图)、序列图、活动图等各种图示来力图系统性地展示客户需求。这种方法明显比传统的需求析方法进步了很多,对于开发者来说

2012-06-16 22:38:55 10364 2

原创 面向对象软件开发的后期调优系列之一 : 用好计时器

当今社会的程序员聚在一起争论的,往往是哪种开发语言好,于是乎JAVA、C++、c#等等程序员之间必定要掐的一塌糊涂,都觉得自己的好别人的差,(现在貌似C#4.0也开始鄙视C#2.0了,不知何时是个头). 但站在软件开发角度讲,所有程序开发出来的应用都不可避免的面临着后期优化的问题,只要优化得当,各种语言其实都可以达到很理想的执行效率的。     在 《软件分层开发架构的另一种思考》博文中,我们

2012-04-27 22:58:37 4135 5

原创 企业借款报销管理

借款报销是公司必不可少的业务,很多管理不善的企业原因之一就是这里一滩烂帐造成的,目前很多软件都可以实现借款报销分别处理从审批到记录的一体化管理,下面这款软件我们来演示一下从借款到报销的一体化处理的过程:第一步: 填写借款申请,操作人:申请人第二步:审批借款申请操作人:借款人的领导,以及各级审批人员此时批准的金额与申请的金额有时并不相同,发

2013-03-21 11:34:12 1980

原创 带有加解密通信的应用安装为windows服务时,需要注意使用的账户

今天在客户演示试用系统掉了回链子,本来服务器端安装包要安装到win2003上的,但客户手头只有个xp, 我感觉问题不大就装了,结果登录认证时却报了个“该项不适于在指定状态下使用”,折腾半天,好歹客户是熟人,没太计较,给他一个调试时使用的控制台算是也能试用起来了。回来研究半天,这问题肯定来源于传输使用的非对称加密过程,网上有说增强组件才能支持512位以上的私钥,但改到512也照旧。接着琢磨,

2012-11-14 19:37:11 720

原创 从Sharepoint优缺点看配置型系统的趋势

在以前的一个帖子sharepoint小问中,我提出了如下观点:=====================================================================sharepoint是个很不错的平台,有很多思路都很新颖,比如列表、公式、视图、模板网站等,但也有很多不足之处,主要有:1)权限管理:列表访问部分过于复杂,而视图部分权限有没法处理,因此有

2012-10-26 15:29:17 1902

原创 面向业务开发应用:如何避免步骤间操作冲突

在《面向业务开发应用》中,我们有一个出差审批的实例(见图一),在这个业务流程中,我们希望在领导审批前,申请人可以随时修改休假申请,而领导一旦在审批过程中,申请人不能进行修改,同样申请人在修改申请时,审批人也不能进行审批,那么我们怎么处理呢? 使用普知杰协同应用系统进行配置就非常简单,只要我们设置一个前提条件,判断相应步骤是否处于操作中即可,配置过程如图:

2012-10-21 15:16:16 841

原创 蚂蚁的天堂

当今各个社区都轰轰烈烈的展开灭蚁运动时,我却任由蚂蚁在窗台的花盆里做窝,看着它们辛勤的在高大植物的根茎上劳作,时不时的还帮我灭掉了植物上害虫的幼卵,我就很高兴有这么一群邻居,时不时的还送写肉碎过来,蚂蚁很喜欢甜食,一旦放上一些糖末,它们往往不要命的蜂拥而上。        有天,我把刚买的一包白糖一半导入糖罐,另一半随便折了折封口,用铁夹夹住放入了窗台边的橱柜里,一个月过去了,当我拿出那半袋糖

2012-10-19 13:18:55 1417 1

转载 你应该知道的应急装备配置

你应该知道的应急装备配置2012-06-30 16:34:50 原文地址: http://blog.sina.com.cn/u/59e64c8e0102e1h8 [查看原文]序号用途装备重量(克)参考价格(元)品质和用途1救生盒防水盒或防水包,金属或塑料,13×8×4,防水、抗压 10随身救生盒,空余处塞一些棉

2012-07-10 22:08:02 2744

原创 孔融为什么能让梨

俺家儿子3岁了,每次都会说“给你吃”,听众可别误会了,他可不是先天的圣人,他你我不分, “让你吃”的意思就是让我来吃。 不知道孔融当年是不是也你我不分,硬给安了顶道德高尚的帽子。不过俺家儿子可不是吃独食的苗子,自己的东西从来不护着,谁要都给。现在他已经知道别人的东西不能随便拿了(很多同龄孩子从娘胎就有护食的本事)很多时候眼巴巴的看着别人的好玩意,看着一脸可怜样

2012-06-09 09:51:17 955 1

原创 如何战胜苹果

自从苹果的IPHONE及IPAD成为时尚潮人的专属装备后,苹果即一发而不可收,国内企业却总是盯着人家屁股,跟着人家学,拣点残羹剩饭。真的不能在创新上做点文章击败苹果吗?最近,老婆的哥哥(小舅子)从美国捎了台IPAD3, 老婆自然兴奋了一把,但使用起来感觉比较失望,最闹心的一点就是复制粘贴太麻烦了。(没有鼠标没法活呀),解决这一点应该不难,成本最低的方式就是像PSP那样在设备上再增加若干按钮,负

2012-05-19 22:04:36 631

原创 探索流程的奥秘之二: 流程的步骤是什么东东

自从工作流技术诞生以来,人们往往很习惯地把数据处理软件与工作流软件如楚河汉界般看成是两个截然不同的领域,当有哪位新人瞪着两只水汪汪的大眼睛虔诚的问工作流专家,“什么是步骤”时,专家多半会脱口而出,步骤就是流程的节点,业务流转到节点,对应的操作人就会收到通知,并要求处理节点而已。         但如果我们再问一句:我们在word中查找关键词“hello”是不是步骤呢?,不知道专家们怎么说,

2012-05-13 10:38:10 1708 1

原创 软件的分层开发架构的另一种思考

在软件开发中,从事架构设计的人员往往都很推崇三层或多层架构,使数据库、业务和界面分离开发,而对于底层的开发人员来说,又多对此有很多抱怨,一方面是因为其所处角度及阅历不同,另一方面的原因也是真多了多层开发体系的一些弱点而言。   就两方的矛盾而言,其实也可以考虑这换个思路来利用三层架构。    首先,三层架构使界面层和业务层的编程人员不用考虑数据库的设置问题,而按照相应的需求自行开发,提

2012-04-12 14:15:22 4903

原创 有关对耗时很大循环进行并行化优化的探讨之三:并行线程越多运行就会越快吗?

在.net framework4.0以后,出现了并行编程的概念,使用 Parallel.For(0, N, i =>{  ... },很容易就可以实现我们自定义的并行化循环操作,在并行循环体中,还可以操作外部的变量,这个特性是很多其他语言所没有的,当然其他语言,诸如JAVA之类,完全可以采用我们在第二篇所介绍的方法自己生成并行化操作。    由于.net framework使用环境的局限性,以

2012-04-11 13:05:56 3406 1

原创 有关对耗时很大循环进行并行化优化的探讨之二:多重循环任务的并发处理

【引】在上一篇有关并行化的《有关对耗时很大循环进行并行化优化的探讨 之一:并发搜索的处理》博文中,我们看到,不使用并行语言,而使用基本的编程语言配合多线程可以进行并行化处理,本文进一步将并行化操作进行一个简单封装,并开始完成一个并行化的数据操作,以供大家参考。 【多重循环的操作】有很多方法可以实现并行查询,必须并行化Linq就是很不错的途径,相比linq to entity,真正实

2012-04-02 21:05:08 3816

原创 有关对耗时很大循环进行并行化优化的探讨 之一:并发搜索的处理

在对程序优化过程中,我们往往对循环体有着刻骨的仇恨,因为它对性能的损耗尤其之大,比如如下例程,是个简单的循环例程,全部执行需要30秒以上(痛苦):  public enum HandleRst    {        完成,        错误_手术刀忘肚子里了,        失败_药物过敏,        失败_家属不签字,    }   public  cla

2012-03-09 13:57:41 4192 2

原创 如何从底层的datatable更新上层的datagridview

使用微软 SQL SERVER MANAGEMENT Studio的人都经常发现,他打开表显示数据的速度很快,而且,如果有数万条记录不能立即显示时,数据表格会自动的加载数据,而不影响整个界面的操作,那么这个效果是如何完成的呢?   肯定的一点是,他用到了多线程,数据的提取线程和界面操作不在一个线程中,这样就可以做到数据随提取,随时送到界面的表格控件中。   实现的方式就不废话了,给个代码,

2012-02-26 21:39:34 1904 1

原创 为什么要对字段封装属性

为什么要对字段封装属性? 每次有新人来,都要问这个问题,我直接对字段操作多省事呀,就像这样  public class A  {     public  string _Name;       }   public Class B   {      private A _MyA;      public void DoB(string n)      {

2011-12-09 19:05:37 1247

原创 探索流程的奥秘之一 - 从Petrinet的令牌生成机制缺陷看新的流程令牌生成方式

【引】   流程引擎是诸多业务系统的基础,也是SAAS型云计算体系的基础,目前的流程体系有很多问题,需要建立一个新的理论体系解决它,我无意中找出了这其中的部分端倪,就抛砖引玉的为大家讲讲这些事情,希望有耐心的看客能够有所启发。 目前绝大部分工作流软件都采用了Petrinet作为核心架构机制,而Petrinet很重要的流转环节-“令牌”的生成机制却大有问题。在Petrinet中,

2011-10-05 16:46:36 2106 5

原创 有感于韩国学者称韩国人祖先发明汉字

   韩国学者说的东夷人就是商朝后裔,当年纣王兄弟箕子在亡国后被武王封到了朝鲜,这其实也说明韩国人和汉人实际上是一个起源,韩国学者说的是事实,但他却不承认汉族也有东夷的血统,而且是亲生的,就好像金日成有个私生子儿子叫xx, xx说因为我老爸是金日成,所以金正日的老爸就不是金日成了

2011-04-21 13:28:00 643

原创 对数码相机的使用终于有点入门了

<br />自打前年买了个D60后,一直也没有太怎么用,随着儿子越长越大,老婆就越发抗议我要不就不给儿子照相,要不就照的太难看的问题,于是绞尽脑汁终于总结出一些小窍门:<br /> 1. 儿童摄影最好是使用长焦镜头在远一些的位置照,有如下几个好处:<br />   - 孩子及旁边的大人都比较自然<br />   - 长焦镜头的景深小,可以产生虚背景的效果<br />    但由于长焦镜头手持不太稳定,同时其曝光量也要大一些,因此很容易虚,最好先苦练手持功夫,我就是照了半年双手分开式产生了大量虚照片,被老婆臭

2011-04-16 14:35:00 679

原创 工作流系统的硬伤- 修改有数据的表单限制及解决方式分析

<br />最近客户部署了某著名公司的工作流软件,我也顺便研究了一下,发现了一些问题。<br />目前的工作流系统,从结构体系看都是相似的,主要包括:<br />  - 工作流引擎<br />  - 图形化的流程设计器<br />  - 表单设计器<br />  如果从企业数据角度来看,我们分析一下各个组件的含义<br />  工作流引擎当然是处理具体的业务数据(或叫流程实例)的节点状态流转,保存的是节点状态数据<br /> 表单当然保存了业务数据,由于不同流转步骤需要的数据不同,表单里面也存在着非常多的脚

2011-04-13 18:16:00 1183 6

原创 有关数据库连接安全性的考虑

 最近客户在安装某款国内著名ERP管理软件时,我在现场指导过程发现了一个有意思的问题,虽然该软件是由具有数十年经验,并占有财务软件绝对市场控制权的企业开发的,但是从其安装过程看,还是有很多漏洞的。  其系统安装时需要MS SQLSERVER的SA帐号进行配置,厂商的安装人员想都没想就配置了个空SA密码,经提醒后倒是设了个密码,不过设置完后发现已经在客户端安装的软件都没法用了,又无奈改回了空SA密码...  从其安装过程看,作为C/S架构的软件,其最起码有如下问题:  1. 这种现象说明其在安装过程中没有创建

2011-04-09 13:21:00 5168 3

原创 权限管理编程的几种设计方式

<br />权限管理是所有网络软件都无法逃避的功能,只要是多用户使用,就必须为特定的用户访问特定的功能设置权限,从目前的技术上看,无非如下几种:<br /> <br />【只设置允许权限】<br />针对特定组或用于,只对于授权访问的功能设置记录,这样在权限计算时,只要登录人有在权限清单中出现,则具有权限,这样处理编程比较简单,但对于配置权限的人就会非常痛苦,尤其是组织结构复杂时,如某个功能对于小组所有成员都可访问,但x除外,这样在设置时就要增加多个组,对于不太熟悉逻辑思维的日常管理人员,这样做无疑是灾难,

2011-03-19 09:32:00 9658

原创 BindingList,还是很美的

<br />经过一段时间的研究,渐渐的感觉如果使用得当,bindinglist还是很有用的,其中同步的方式两种都可以:<br />   方式1: 在界面层使用 datagridview.Refresh()方法。<br />   方式2: 在对象层使用BindingList.ResetBinding()方法。<br /> <br /> 另外,如果需要处理删除对象的事情,可以重写bindingList的RemoveItem()方法, 比如有一个类为:<br />    public class Class1<b

2011-03-06 17:53:00 7533

原创 在Datagridview控件利用下拉菜单进行枚举数据输入

在Datagridview控件利用下拉菜单进行数据输入可以使用户操作更加方便,在配置COMBOX控件时,只要设置了datasource, displaymember,valuemember,即可实现comboxbox的数据输入,如:  有一个类如下:    public class Class1    {        string _Name;        public string Name        {            get { return _Name; }            se

2011-03-05 19:00:00 3734

原创 面向对象的编号-避免变量命名发生混淆的途径

软件开发项目具有风险大,周期长的特点,由于行业的复杂性,对于很多开发小组,人员的更替是十分频繁的,而软件开发项目的特点又恰恰是需要统一定义的信息非常多,包括组件名、对象名、变量名、界面、版本号、配置文件、功能清单等等,而人员的更替往往带来的结果是是新成员需要长时间的适应项目规范、定义等,而由于定义混淆而造成的编码错误占软件开发错误很大比重,因此,软件项目组如果能有一个很好的规范定义

2011-01-23 10:08:00 727

原创 基于PC服务器群集的云计算会更有前途

 目前IBM等大公司推销其云计算概念搞得火热,骨子里就是2000年时就开始出现的分区技术,不管是PPAR还是LPAR,总之就是把一台高性能的小型机分割成多个性能可调的逻辑计算机。   在当时情况下,这种技术更多的考虑是安全性因素,因为每个逻辑计算机只跑一个关键应用时,应用造成了问题后,只需要重启这台逻辑计算机即可,不会对服务器的其他逻辑计算机上的应用造成问题。   随着云计算的“风起云涌”,分区技术在经过包装后被赋予了更多职能,但其还是面临着无法解决的问题:如果物理的服务器硬件坏掉了,所有应用都将完蛋。于是

2011-01-21 18:49:00 948

原创 看我对付儿子的本领

<br />俺家铃铛16个月了,天天由姥姥姥爷看着, 但最早却先叫的爸爸,现在只要我一进门,他就赶紧跑过来大声的叫“爸爸”,别人一概没这待遇,于是所有人都骂他“没良心”,因为我既不抱他,他摔了也不服他, 但有一条,他愿意干啥就干啥,我从来就默许。

2011-01-21 13:21:00 499

原创 探寻Remoting和WCF以外的远程对象编程的新途径

在现代的编程技术中,客户端以对象的方式调用服务器上的数据及处理方法,可以大幅的简化分布式系统的开发难度,在.net世界中,人们在此广泛使用了Remoting技术,目前微软也在大力的推广其WCF技术,但这两种技术也存在着一定的先天缺陷。虽然WCF号称速度快过Remoting,但是底下的众多程序员却不太认同,其底层采用XML的通信机制决定其难以超越Binary方式传输的方式。  而Remoting也有他的一些问题,其断线重连似乎总是不太稳定,而如果想利用Remoting进行跨越多服务器的远程对象处理,Remot

2011-01-20 21:47:00 1159

原创 使用自己开发的ORM数据层的好处

<br />使用了对象映射转换层确实可以大幅简化开发工作,但最近研究了各家数据层的有缺点后,我发现自己开发数据层可能更划算些:<br />1. 向Hibernate等著名ORM产品号称缓存的命中率达90%以上,但如果应用时分布到多台服务器上,甚至是客户端时,其缓存命中率会差得一塌糊涂, 于是乎大家都在说建立在其上建立应用缓存,但应用缓存会带来脏读、冲突等诸多问题。而自己编制数据层就可有选择的处理缓存问题,显著提高效率。<br />2. 面向对象编程一个很突出的特点就是其支持继承,而继承的实现在数据库设计中有

2011-01-18 23:36:00 1691 3

原创 BindingList 看起来很美

最近有同事迷上了使用BindingList开发应用,看上去用BindingList绑定datagridview很是省事,只要如下即可:   BindingList x = new BindingList();     ....   datagridivew1.datasource = x;   datagridiew1.columns["name'].DataPropertyName = "Name";     ...    T = datagridview1.selectedrows[0].boundIt

2011-01-18 22:54:00 4267 4

Wrox 的 Generating Code from the Visio Model

使用VISIO架构版(EA)进行UML设计,生成源码等

2011-04-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除