载入中
自定义HTML载入中... loading
日历
<<  <  2008 - 8  >  >>
Su Mo Tu We Th Fr Sa
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
载入中
边栏内容载入中... loading
一些思绪 [原创 2005-4-30 17:29:30]  

dulao5 | 2004年十二月21日, 21:20

最近有些散乱的思考,先记下来

软件企业的质量管理:(摘录)
1)先做检验型质控,再做过程型质控  检验型容易很快收到效果,增强领导层对的质控工作的支持和理解
2)过程型质控循序渐进。质控过程改进增加开发人员工作量,容易收到开发人员无意的排斥,改革应当渐进。--将质控作为对开发的“服务”,从帮助开发者的角度做质控工作更好

小企业的创业初期(随想)
在规划企业时,经营者应当作出长远的规划,特别是企业一开始可能只有开发人员,随着市场的扩大,就需要有销售和售后服务以及客户投诉等部门。。。。企业最终要到达什么阶段?经营者应当清楚,而且投资者应当了解。可以将“企业结构”作个演化模型,注明当某个时间企业实现什么目标后做一次企业结构改革,等等

 

(字节数 : 447)
关于.net的企业开发实例--Duwamish [原创 2005-4-30 17:28:44]  
dulao5 | 2004年十二月14日, 17:55


学习.net和C#,当然要看别人的代码。微软在MSDN中内嵌了一套企业版开发实例--Duwamish

【1. 相关的MSDN文档】

具体内容可以打开MSDN,目录-》Visual Studio 。Net-》示例和演练-》Visual Studio 。Net示例-》企业版实例-》Duwamish

性急的同仁可以直接点这个链接:
Duwamish(前提是你安装了MSDN并且安装了“企业实例”部分)

MSDN说:


Duwamish 7.0 是一个专门为 Microsoft .NET 平台生成的多层分布式企业应用程序。它的设计、开发和部署为开发人员提供了一个生动的例子,通过该示例,开发人员可以深入了解如何利用 .NET 平台的各种功能来生成可靠的、可伸缩的和性能良好的应用程序。在 Visual C# 和 Visual Basic .NET 版本的安装 CD-ROM 上都有 Duwamish 7.0。每个版本对驻留在各个结构层上的逻辑使用 ASP.NET。

【2. Duwamish的安装】

Duwamish是一个多层体系,包含数据库和中间层以及ASP.NET,如果仅仅给你源代码手工安装到机器上的话,很麻烦,因此微软提供了安装程序。
如果你安装VS.NET2003的时候安装了企业版实例,那么可以从这个路径下找到它:
[安装 Visual Studio .NET 的驱动器号]:Program FilesMicrosoft Visual Studio .NET 2003Enterprise SamplesDuwamish 7.0 CS
你可以从这个目录中拷贝安装包到你想要的目录,然后双击安装,安装程序会将本系统所有代码安装在当前目录下,并且自动安装数据库、以及自动设置ASP.NET的虚拟目录(这些如果手工做就麻烦的很了)

注意:安装所需环境:Internet 信息服务、MS SQL SERVER、Microsoft .NET Framework SDK


【3. 分析和学习Duwamish】
作为一个系统,Duwamish比起其他系统来说不算大。但是对于初学dotnet的人,它还是有些太大。
毕竟Duwamish中的分层比较细致和复杂。
所以我建议大家从如下几个角度(关注点)学习它。




  • 数据库设计的角度
    打开数据库企业管理器,建立一个“关系图”来看看数据库的全局是个很好的办法
    数据库表之间的关系完整性,他使用mssql自动保证了(而不是自己写代码控制)
    数据库的存储过程设计全面而精巧(例如对简单查询的封装,再如你看对于主从表插入数据它是怎么做的?)
    等等


  • 逻辑分层的角度
    有6个逻辑层(对应6个子项目),他们都有什么道理?为什么要这么做?

  • 数据访问层的角度
    这个项目算是小项目,数据库访问层代码写的较为笨重(个人认为),在每个数据到数据库表映射的类中使用了很多常量。
    但是从应用的角度讲,对于网上书店这么经典的应用,用这样的代码完全可以的。灵活的设计往往是为了应付开发者陌生的领域中不断演化。
    我们要实现一个通用的数据访问层,可以从这个设计上吸取经验和教训。

  • .net的特性 和 分布式系统 的角度
    为什么系统在写某些类时使用了某些奇怪的东西?比如IDisposable,比如SerializableAttribute。。。。。
    查查.net的类库文档,会明白一些

 

(字节数 : 3173)
万有引力、失恋、你和我还有他 [原创 2005-4-30 17:27:26]  

万有引力、失恋、你和我还有他




世界有“道”,一且都是必然的,然而表达“道”的公式,需要的参数太多,又导致了一切都是偶然的

偶然之间,一个电子从这儿消失然后从那儿出现,我们只好统计他的出没规律
偶然之间,我们相遇,我们笑着、牵手,把这个叫做缘

缘——融有感情的偶然

40亿年前,我们由宇宙的星尘变成地球的尘埃,我们的构成物质遍布全世界,作为水、云、海、石头、树木……电子怎么跑无所谓,总之质子和中子保持着必然的稳定,无论经过了多少变化,最终一群粒子形成了我和你

奇妙的我们,中间拥有多少的神奇呢?我腿上的一个碳原子,可能曾经属于一块石头,后来被融解,吸收到植物,后来也许被一只恐龙吃掉,来构成它身上某处的一个分子,后来被消耗分解排出成为二氧化碳,最后被另外的森林里的植物吸收,在一次意外的事故里,这片森林被卷入地壳,成为煤,沉睡到几十年前,又被燃烧释放到空气。机缘巧合,现在它属于我。我身上的每一个粒子,都有它好几十亿年的传奇历史,为什么不赞叹?赞叹自己,赞叹世界,赞叹每个人的相遇,赞叹我们神奇的大脑会这么神奇的赞叹自己……

相识相知相爱,无论痛苦还是快乐,都是那么奇妙。200亿年前我们都是宇宙的那个唯一的点,你就是我,我就是你,后来的亿年的演变,是貌似偶然中的必然,——我们又相遇了、我们还会分离、我们分手了、我们会消失掉、我们会永生在这个世界

一切都在变化,运动是绝对的。分手和失恋只是千变万化中微不足道的一份而已,恋爱是精神活动,精神活动也是由物质基础构成的。精神最终要泯灭。物质最终要混合到一起。除了把信息记录到载体中影响一番他人,永远的爱情又有什么意义?

我们可以去爱,感受两个人相遇的奇妙
我们也可以去恨,但是不要忘了,即使你眼里没有他,你们之间至少还有万有引力作用,如果其中一个突然在我们的宇宙消失,会给另一个带来短暂的受力不平衡现象

 

(字节数 : 901)
缘起——我们的世界 [原创 2005-4-30 17:26:45]  

缘起——我们的世界



前几天发帖,论鬼的不存在. 我先假设“鬼存在”这个命题,然后归谬。这是我“无鬼论”的重点^_^

实际上,我原来比较倾向于相信有鬼的存在,因为死后不是什么都没有,躯体转化成自然界的其他物质,灵魂还存在,这是一件多么惬意的事啊。不用怕死,生命也不足惜了。反正偶还是偶,无论轮回多少,偶都有存在的意义。
但是,我爱看科普书,这些最基本的科学告诉我,人类不是万物之灵,我们是如此卑微;一个人太卑微,不过宇宙的一个微尘,人生的意义太过渺茫……
认识到没有鬼之后,在思考人生的意义,似乎残酷和无聊的多了……

按照古代的人认识,人类是造物者创造的,距今不过几千年,但是化石告诉我们,人类已经存在了几百万年了;按照古人说,地狱在地底下,天有九重,天堂在南天门上面,可是地下是地壳、地幔、地核,所谓地狱只好搬家了,大气只有10000米高,平流层上面是电离层,再往上,接近真空,天堂也只好更加躲远了我们;如同人类登上月球的时候,神学家解释说嫦娥藏了起来一样,科学,越来越让神学家们尴尬,后代的神学家不得不不断的修改以前的理论,以求自圆其说…………

比之宇宙,生命当然是微不足道的,宇宙的物质运动如此繁多,生命不过是其中一种;比之生命,人类当然是微不足道的,生命的形式如此之多,人类只是其中一种。宇宙里面的一次小小的行星运动,就足以让人类毁灭,但是生命仍然演化,不知道到时候会出现什么更奇妙的东西;所以比之浩瀚的宇宙,人类科学当然是微不足道的,人类未知的东西太多,而且,人类本身就是宇宙的一部分,又如何可以期望有一天,科学能够认识宇宙的全部?

但是人类仍然不断进取着,不断认知这个世界,这个世界面目也就越来越清楚了。

******
人类仅仅是宇宙的微尘……
******
人类是地球的一种普通生物,现在所知,生存了几百万年了。我们所知的,曾经在地球上长期统治的生物,是恐龙,他们大约在地球上生存了2亿年。
地球是太阳的行星,地壳厚度最薄处,只有1千米,再往下,是地幔和地核,地核非常之热,最中心是液态的。在太阳系诞生以后,地球开始时温度很高,后来慢慢冷却,有些洼地,水汽凝结聚集,形成原始的海洋。原始海洋是一片死海,后来的雷电和大气于海洋作用,形成了初步的含氮大分子,然后经过n年的演化,原始的生命终于诞生了。经过40多亿年的演化,生命渐渐的,从单细胞到多细胞,从水生到陆生,终于产生了人。

可以想见,第一个直立行走的人,多么伟大,如果没有他,我们现在还在爬行;第一个用一块石头打造另一块石头的人,多么伟大,如果没有他,我们现在还不会。
我是想说,在人类出现之前,什么鬼、神、上帝都是不存在的。但是如果别人一定要说上帝在地球上一直存在,那他一定要寂寞上45亿年之多——很无聊吧,没有人和他玩啊。

太阳又是银河系的一颗恒星,银河系有千千万万的类似恒星。在这些星星里面,太阳实在不算什么重要角色。而银河系又是总星系的仓海一粟,实在不是什么重要角色。
人类历史在宇宙的时间轴上,只不过极小的一段。人类的空间,在宇宙中也只不过是微弱又平凡的一点。宇宙难道会给这平凡一点,特别关照,专门恩赐一个有人形上帝?

有一次,我看到一只小狗,在原地转圈,追逐自己的尾巴。我想起一句话,人类一思考,上帝就发笑,类似的,小狗一思考,人类就发笑。
如果小狗把人类当成它的上帝,请问你,会专心致志的作他的上帝吗?请问这个世界,会特别的照顾狗们,给他们安排一个上帝?


***********
大爆炸前的那个点
***********
宇宙,起始于发生大爆炸之前的那个点。
所谓“起始”,就是宇宙的零点,从宇宙时间轴上讲,那个时刻就是0的位置。

那个点,也包含了宇宙所有的质量和能量。而且,他既然是一个“点”,那就是无限小的,密度也就是无限大的。既然是全宇宙的质量和能量,那就无论你还是我,无论是指月还是山人,说说还是不说,李兰还是小雅,大伙儿都在里面,不分你我,浪漫吧~~
所以,失恋的人们无需难过了,大家都是有缘人,200亿年前,你和他根本不分你我的:P
其实就是现在,你和他也是天天有万有引力的作用,生生相息的;而且,如果你体内的分子分解呼出二氧化碳,被植物吸收,结果被他吃了,你身上的碳原子就跑到他身上去了。
本来人和人,都是大爆炸后的粒子,能一起分配到地球上,就不错;经过动物植物的演变,构成你身体的千万粒子构成你,构成他身体的千万粒子构成他,然后相遇、说话,本身就是很奇妙的事。

说多了。

总之这个点包含了现今宇宙的一切,包含了人,狗,石头,星系,或者构成人精神的电波、明天中午吃鸡蛋还是鸭蛋的想法,等等。

但是不要说,“茫茫宇宙中的这个点”——错了~~!
这个点就是宇宙的全部,包括时间和空间,在它之外,没有任何东西,没有任何空间。
理解了这一点,你就可以断定,在那一刻,上帝是不存在的,佛也是不存在的(即使后来存在,起码在那一刻,他们不在那个点以外,因为这个点“以外”没有任何东西。如果后来真有上帝,那么在那一刻,他和我们一样,都含在那一个点里面)

不过,那一刻却有“道”的存在。因为道,是万事万物的规律。这个点既然是物质,这个物质的规律也就存在了……

但是物质存在,精神(人心)却是不存在。没有人类,何来人心?唯心主义者早在着一刻,就已经见了胜负。因为人心还未形成,物质却已经存在了。

会不会有种神秘力量,在这个点之前就存在了呢?
答曰不会。
因为这个点包含了宇宙的全部。所以如果有什么神秘力量,也会被包含到这个点里面,不会在这个点外边。
而且这个点是时间轴上的原点,既然是时间的原点,那么在这个点“之前”就什么东西都没有了。

等到精神(人心)存在,那是200亿年以后的事情

尽管这个点非常神奇,但是只存在一刻,为什么?因为它同时只是时间轴上的一个无限小的点,过后,就发生了大爆炸…………

粒子们纷纷逃逸,宇宙边界光速的向外扩张……

这个时候,物质都在忙着变化,首先是宇宙渐渐冷却,一些东西因为万有引力互相吸引,形成星云,星云运动,分离,有些恒星慢慢的脱胎,太阳,这个宇宙微尘,慢慢形成了,然后是地球,然后生命…………人类…………

假使随着最初“奇异点”爆炸跑出来的,除了粒子,能量,还有上帝、神、佛的话,那么试问,他们能作些什么呢?粒子都按照自己的规律,有条不紊的运动,他们能作什么?指挥什么吗?
如果公司聘来员工,其他人都个忙各的,没人理它,它又实在找不到自己的事情,除了被公司辞退,还有别的结果吗?




以上是我所记忆的一些自然科学的科普常识,目的在于普及科学知识,有些东西虽然简单,可是仔细考虑,都可以当作唯物主义的证据,也许我说的你都知道,但是,仔细考虑过吗??

(因为业余,科普方面难免有错,欢迎温柔提醒,拒绝恶意批评和冷言嘲笑,嘿嘿,谢谢)

 

(字节数 : 3128)
论鬼之不存在【原创】 [原创 2005-4-30 17:25:32]  
论鬼之不存在【原创】



对于鬼,很多人抱着“宁可信其有,不可信其无”的混沌态度,让迷信钻了空子。今天,dulao5就来论证一下,鬼,是不存在的

因为对于鬼这个概念,没有正式的定义。基本上,根据传说,这个东东有这样几个特征:

1. 来源  :鬼来源于人  ,人死了以后变成鬼  ,鬼投胎变成人    人是鬼的唯一来源。
2. 鬼自己不会繁衍后代,如同上面所说,人是鬼的唯一来源。
3. 鬼有形体,但是也有些虚幻,飘忽不定,有些像气态的
4. 鬼有三种去向:1)万劫不复,被判官或者神仙消灭,消失了  2)投胎变成人  3)无法投胎,变成孤魂夜鬼
5. 人(现代人)都是鬼投胎变的,第一批人是女娲做的,后来女娲不造人了,人的来源只剩下一个,那就是由鬼投胎。

以上是咱们东方人的所谓“鬼”的概念,我下面证明“鬼”不存在,就是证明这样的鬼不存在。也许有别的特征的鬼,但是我不知道,等我知道了,

再一一批驳。

证明:


第一批人是造人者女娲造的,后来不造了,设第一批人的数量为 x
人死了变成了鬼,鬼来源于人,鬼的数目小于 x
现在人的数量,大约是50亿,数目小于 x
第一批人造好以后,有三种去向:  1)在人间50亿  2)在阴间,尚未投胎  3)没法投胎的夜鬼或者被消灭的恶鬼

这里,一个有趣的问题是, 人间和阴间的数目,比例大约是多少?

这要看第一批人,第一批人,假如50年的时间,死掉1/5,出生1/10的话,人间和阴间人数目比例是  9:1  

实际上,阴间的数目要远小于总数的1/10 ,因为人类要生存,死亡率必须小于等于出生率

所以得出一个结论: 如果有鬼的话,数目非常稀少,因为鬼要忙着投胎,流动数目也许很大,绝对数目很少,这倒也是,几千年来阴间的官僚

机构一直很小,只有阎王和判官寥寥数人,除了等级新鬼和打发投胎,平时也没多少业务可作。黄巢故事里面说,阴间得知将要发生战争,死

很多人,小鬼忙着抄写《生死簿》,白天干不完晚上加班,偷寺庙和尚的灯油。可见阴间的公务员数目很少,办公条件很差,信息化程度也不

高(其实就是改变人的标志字段,把“生”改成“死”,一个sql就行了,还加班~~)

              *      *         *

但是以上的结论并不完美,人从古到今,生存这么多年,难道一直都是 死亡率大于等于出生率 吗??如果是的话,那女娲造的第一批人要数

目很大才对,不然实在赔不起。

实际上,从表面上看,人类大体上都是死亡率必须小于等于出生率的,就算是发生战争,死很多人的话,在往后人民也是慢慢的又繁盛起来的

。这个我没有查资料确实,历史界的朋友可以帮忙查证一下。

更让人迷惑不解的是,最近100年人口爆长,假使100年前人鬼比例大约是9:1的话,我们可以预料人类在往后就没有孩子可以生了——鬼都

要投胎完了。这是很紧迫的问题,旧中国4亿人,现在都快13亿了,鬼的数目肯定是锐减,而且还带来孟婆汤的紧缺问题、鬼种族的大量迁徙

问题等诸多问题。


*       *           *
其实也可以这样解释,女娲一开始造人,第一批人造好后,马上over了一大批,为千秋万代留下了诸多“人源” ,可是牵强的是,马上over的原

因不是那么好解释的,第一批人产生后居住区域一定不会很分散,要是彗星撞地球、核爆炸等灾难,那也是“要死一起死”的……

除非女娲造好第一批人以后,马上杀了一半??  不会吧,女娲有着么狠?难道她看到了几千年后“鬼之有无”的争论?目光实在长远,呵呵

还有一种解释,是女娲造好人后,造了一定数量的鬼。呵呵,这样就好解释了。女娲都给我们算计好了,造的鬼够人类出生n年的……

女娲造鬼????可惜从来没有任何记载

*       *        *

算了,还是算帐吧。

女娲造人,一开始用泥活泥人,这样造人,效率很低啊,不信你造一个试试,一天能造20个就不错啦。
女娲也意识到这个效率 问题,为了后世繁衍,她只好用藤条蘸泥塘向外甩,人就如天女散花一般,纷纷出生了

我们假设一开始活泥人,一天做50个(已经很累了),做了三天         ===》 三天150个人
然后用藤条甩,5分钟甩一下,一天8小时,甩一下产生10000人         ===》一天10000*8*(60/5)=960000人

把150人忽略不计、把孤魂夜鬼数量忽略不计,把阴间的鬼数量也忽略不计,只计算50亿人的产生

50000000000/960000  大约是52000天,也就是142.47年,可怜的女娲,辛苦了,人民永远纪念你……

 

(字节数 : 2694)
《桃花网记》 [原创 2005-4-30 17:24:37]  
            《桃花网记》            

                             瓷水暗(献给vchelp)

         今世鲁中,西浊人,上网无业,缘链接,忘ip之远近。忽逢c++论坛,
         一版数百贴,中无杂贴;代码机巧,语句缤纷,网人甚异之;
         复前行,欲穷其版。版尽末页,便得一闲聊区,
         有鱼罗贼混指月兰雅之属,浅么戟空,沈紫鬼闻,
         其中往来论者,头像签名,皆异外人;表情笑脸,以呲牙者多。    
         见网人,乃不惊,未问所从来,具友之,便要至坛,发贴回复作乐,
         坛中闻有此人,咸来顶贴。
         自云避今世之浮躁,率朋友诸君,来此绝境,不复出焉;遂与外网间隔。
         问今有何扰,乃不知有萨达姆,无论拉登;
         此人一一为具言所闻,皆叹惋。
         余人各复延至其版,皆会贴杂谈。
         停数日辞去,此中人语云:“不足为外人道也”。
         即出,得其host,便记来时link,处处志之。
         及网易,诣斑竹,说如此,斑竹即遣人随其往,寻向所志,遂迷不复得路。        
         语丝方舟子,高士也,闻之,欣然规往,未果,终得404信息。后遂无问津者

 

(字节数 : 1582)

【2004年5月份的旧文章】

最近作word做的头晕,数据库表数据字典一个又一个的,烦四人,最后灵感一线,。。。。。。。。。。


新建一个宏,写入如下代码
For i = 1 To ActiveDocument.Tables.Count
    ActiveDocument.Tables(i).AutoFormat Format:=wdTableFormatElegant, ApplyBorders _
        :=True, ApplyShading:=True, ApplyFont:=True, ApplyColor:=True, _
        ApplyHeadingRows:=True, ApplyLastRow:=False, ApplyFirstColumn:=True, _
        ApplyLastColumn:=False, AutoFit:=True
Next

这个宏可以用来吧word内所有的表格全部变成“表格自动套用样式”中的“典雅样式”

 

(字节数 : 724)
从windows.forms.ListBox的item得到的感想 [原创 2005-4-30 17:23:22]  
dulao5 | 2004年十二月13日, 16:52

      同事问我,windows form中的listbox控件的应用问题.数据库中有id和name两项,将name放到listbox里,用户选择了以后要得到对应的id再进行查询.

      我以前没有用过windows form上的东西,web上很简单,html的标签支持元素的value属性。我使用过delphi的combox和listbox,它的items是个stringList类型的东西,每个元素是一个字符串,同时能保存一个object;使用的时候往往定义个object的子类型,然后添加到items时new一个这种对象,最后还要管理这个对象的释放.

      那么打开msdn看看windows form上的listbox吧

      经过研究猜想是这样:

            ListBox.Items 的类型是ListBox.ObjectCollection类型 
            他的add函数参数是一个object,而不是string 
            那么按理说,一个元素类型是object,那么系统显示这个元素的时候自然需要ToString() 

      所以也许可以这样做: 

            在窗口内写一个小类,继承自object
            包含两个string的数据成员
            一个是名字,一个是id
            然后重载基类object的函数Tostring()
            让这个小类的tostring 函数return name; 

            定义好这个类以后,
            当添加记录到列表框的时候,
            new 一个小类的对象
            把名字和id赋值到两个成员
            然后listbox1.items.add(yourObj); 
            这样大概就行了 

            然后在使用的时候
            obj=Listbox1.selected......
            obj.id .....

      同事问我,windows form中的listbox控件的应用问题.数据库中有id和name两项,将name放到listbox里,用户选择了以后要得到对应的id再进行查询.

      我以前没有用过windows form上的东西,web上很简单,html的标签支持元素的value属性。我使用过delphi的combox和listbox,它的items是个stringList类型的东西,每个元素是一个字符串,同时能保存一个object;使用的时候往往定义个object的子类型,然后添加到items时new一个这种对象,最后还要管理这个对象的释放.

      那么打开msdn看看windows form上的listbox吧

      经过研究猜想是这样:

            ListBox.Items 的类型是ListBox.ObjectCollection类型 
            他的add函数参数是一个object,而不是string 
            那么按理说,一个元素类型是object,那么系统显示这个元素的时候自然需要ToString() 

      所以也许可以这样做: 

            在窗口内写一个小类,继承自object
            包含两个string的数据成员
            一个是名字,一个是id
            然后重载基类object的函数Tostring()
            让这个小类的tostring 函数return name; 

            定义好这个类以后,
            当添加记录到列表框的时候,
            new 一个小类的对象
            把名字和id赋值到两个成员
            然后listbox1.items.add(yourObj); 
            这样大概就行了 

            然后在使用的时候
            obj=Listbox1.selected......
            obj.id .....



代码:
-------------------------------------------------------------
    ///


    /// 列表框元素对象
    ///
    ///

    public class MyItem : object
    {    
        public string name;
        public string id;
        public override string ToString()
        {
            // TODO:  添加 MyItem.ToString 实现
            return name;
        }
    }
----------------------------------------------------

        private void Form1_Load(object sender, System.EventArgs e)
        {
            MyItem item1=new MyItem();
            item1.id="001";
            item1.name="天下";
            this.listBox1.Items.Add(item1);

            MyItem item2=new MyItem();
            item2.id="002";
            item2.name="天上";
            this.listBox1.Items.Add(item2);


            MyItem item3=new MyItem();
            item3.id="003";
            item3.name="地下";
            this.listBox1.Items.Add(item3);

            MyItem item4=new MyItem();
            item4.id="004";
            item4.name="地上";
            this.listBox1.Items.Add(item4);
        }
------------------------------------------------------
        private void button1_Click(object sender, System.EventArgs e)
        {
            MyItem tmp =(MyItem)this.listBox1.Items[this.listBox1.SelectedIndex];
            
            MessageBox.Show(tmp.id);
        }

经过测试,果然如此,哈哈

=========================

感想
=============
从listbox这样的小地方可以看出
.net的类库设计的确很优雅
很能体现思想

比如这个列表框的元素,这个元素不是一个string,
因为设计者料到 , 用户拿列表框不是仅仅作为string来用, 所以他把item抽象成object
但是还要正常显示元素的文本,
所以他在显示文本的时候就调用object的ToString
这样
就优雅的多了

用户(程序员)可以使用任何的数据类型作为元素类型,只要此元素支持Tostring就行了
而.net的所有类型都继承自object
所以Tostring就是 Items和item的一个标准"接口"


-----------------------------------------------------------------

再看delphi的ListBox,他的items是一个stringList ,
stringList的每个元素必须首先"是"一个字符串
然后相应的字符串可以对应一个额外的Object

相比.net的设计, item不必"是"一个字符串 (它可以是任何类型)
只要这个类型能向Items提供一个ToString的接口就行了

后者的设计更符合面向对象的思想



******************************************

由于非常不熟悉window.forms,所以也许我走了弯路,也许有更简单的方法,(我经常这样呵呵)
我菜的很,只是通过这一点感受到设计者的思想,所以手舞足蹈的发上来,抛砖引玉,希望高手批评指正,谢谢

 

(字节数 : 8625)


1.UI-->权限-->业务逻辑-->数据
特点:
A.权限和界面包含到一起、利于实现
B.配置简单;
C.权限数据在运行时不能改变、权限只是用户和界面两者之间的简单映射关系,它们之间的关系不会随界面内包含的数据改变 ,如果再努力一些可以设计权限角色方案
D.安全性差,某种情况下访问者可以通过破解掉的用户界面直接绕过权限层操纵业务逻辑

实现简论:
数据:
窗体或事件函数名字作为"模块表"
用户表、角色表、相应的关联关系表等

程序:
A.判断权限的静态类,内含判断用户和界面关系的方法
B.在窗体界面的显示事件中加入对权限类的调用
C.可以设计窗体基类,将上一条中内容实现到基类中

2.UI-->业务逻辑-->权限-->数据

特点:
A.将权限封装到业务层,设计上更加合乎现实道理,权限本来就是业务的一部分
B.解放界面,让界面只是单纯界面
C.可以将权限细化到具体的业务对象上;例如办公中某用户是某文档的创建者,那么他可能比别人有更特别的权限。这样"用户对象"和"业务对象"之间可以有更灵活的关系
上一种方案中实质上只能实现用户对象和窗体类(而非其实例)之间的关系
D.安全,恶意用户绕过界面也无计于事
而上一种方案,只要有业务层组件(DLL|COM等),恶意用户甚至可以自己编写不受权限约束的用户界面(舍弃我们设计的含有权限的界面)
例如,如果Word.设计者仅仅将判断只读或加密的权限做到界面中,我们就能利用宏或者其它使用com的方式改写被保护的文档了

因为权限实际上是对象的一种属性,所以应当将权限处理防到业务层,让业务对象自己判断权限

 

(字节数 : 796)

我们知道,追求进步、让水平得以提高,有两种途径,
一是学习别人的优点
一个是改正自己的缺点

那么对于我们这些人,都不是水平很高的人,而且我们也没有“高手”指导,怎么办?

1.不如我们每时每刻都主动找出自己的缺点,然后自己改正自己的缺点,
希望每个人都有改革自己的精神和勇气、自己批评自己的勇气

2.不如我们每时每刻都注意同伴的代码,我们大家是一个团队,是自己人,互相指出对方的缺点,当局者迷旁观者清,展开批评与自我批评,共同进步
希望每个人都心胸宽广,能够虚心接受别人的批评

我提议在这个帖子里,大家有空就贴自己或者同伴“不好的代码”,
所谓不好的代码,就是不是“产品”层次的代码,就是不具备产品意识的代码

我们逐步找出自己的坏习惯,进而养成好习惯
我们逐步找出对于一个典型问题不好的解决办法,进而积累好的解决办法。

此贴不关风和月,希望大家心胸宽广些,让这个帖子成为督促我们进步的牛虻,时时刺痛我们,进而逐步成为一个成熟的程序员

[这是发表到内部论坛的帖子,记录至此 2005-9-10]

 

(字节数 : 524)
上一页 | 1 ... | 7 | 8 | 9 | 10 | 11
和讯个人门户 v1.0 | 和讯部落 | 客服中心