旧事重提——行为型设计模式总结一
摘要:由于行为型模式比较多,本人打算分两篇博客总结。今天一次介绍解释器、中介者、访问者、策略、备忘录、迭代器模式。解释器:适用场合:如果一种特定类型的问题发生的频率足够高,那么可能就值得向该问题的各个实例表述为一个简单语言中的句子。当有一个语言血药解释执行,并且你可将该语句中的句子表示为一个抽象语法树时,可使用解释器模式。例如机房收费系统中,组合查询中,如果没有在SQL语句中对表中字段起别名,而且也没有使用视图进行中英文转换,那么就可以在UI层中使用该模式,将对应的参数进行解释。解释成对应表中字段。此方发没有没有去实现,只是感觉应该可以实现。中介者:中介者模式,就是通过Mediator类,来接受、发
阅读全文
posted @
2012-02-21 11:39
刘正权的博客
阅读(192)
推荐(0) 编辑
软件工程总结一
摘要:重构机房收费系统的时候,经常想起要重新看看软工这块儿的知识。昨天一天加今天上午半天,一直在看软工的笔记和截图,感觉产生共鸣的地方还是太少了。开发部分稍稍好一些,到了后面的工程管理部分,还是看的一头雾水。下面是我总结后画的一张简单的图:我们在学习软件工程,那什么是软件呢?书上的定义是:软件是计算机系统中与硬件相互依存的另一部分,它包括程序,数据和相关文档的完整集合。由软件的定义可知,我们所编写的软件,不仅包含我们写的程序,及相关的数据,更包括与之相应的说明文档。从定义可知,我们所写的文档有多么重要。对于机房收费系统的文档,我的文档还是只有需求、概要、详细三个比较详细,别的想写可是写不出来东西,这
阅读全文
posted @
2012-02-18 21:43
刘正权的博客
阅读(117)
推荐(0) 编辑
ER图
摘要:实体-联系图(Entity-Relation Diagram)是描述数据库中表间关系非常好用的工具,在建模时使用极佳。下面先谈谈ER图的构成:实体型:矩形表示,矩形框内写明实体名;属性:椭圆表示,并用无向边将其与相应的实体连接起来,多值属性由双线连接,主属性名称下加下划线;联系:用菱形表示,内部写明联系名,并用无向边分别与其有关实体连接起来,同时在无向边旁标明联系的类型;E-R图中对应关系:在一的一方标明1,n的一方标明n。下面是我选用机房收费系统的实体,画的ER图:这只是整个系统中的一部分,将整体画出来,我们能够清晰的看出表与表之间的关系。参考:http://baike.baidu.com/
阅读全文
posted @
2012-02-18 17:34
刘正权的博客
阅读(698)
推荐(0) 编辑
浅谈继承窗体
摘要:重构时,大家一定发现了:很多窗体的整体的布局都非常类似。我们完全可以一个一个的添加窗体,然后将其中摆放好的控件复制到另一个窗体上,这样无可非议。不过总是粘贴复制就会有不好的味道在里面。其实窗体也可以继承。今天就小谈下继承窗体。我稍稍归纳了一下,在我们机房收费系统中,大体有这些窗体非常类似:学生上机记录查看,学生充值记录,他们是这样的窗体:图一金额收取信息查询、金额退还信息查询,他们是这样的窗体:图二学生上机信息统计、操作员工作记录、上机状态查询、学生基本信息维护,是这样的窗体:图三除了窗体的名字不同,其他的我们看上去都是一样的。这样,我们就可以对它们使用继承窗体。其实,继承窗体也属于我们平时所
阅读全文
posted @
2012-02-18 14:02
刘正权的博客
阅读(275)
推荐(0) 编辑
.NET机房收费系统总结
摘要:寒假将近四十天,主要的学习工作就是重构机房收费系统。从一开始的茫然无措,到现在的肤浅认知。下面是我重构中主要的三版图:版本一 版本二 版本三无论是画图,还是在编码阶段,感觉我都花费了很多的时间。设计时,感觉画图遇到的困难很大。开始想的就很跑偏,所以画的图找晞晓勇师哥审核了好几次。做完了他给我的一个登录例子,我又在网上找了几个C#小例子,感觉实现起来都大同小异。接下来,进入了编码阶段。开始编码的时候,还是一边写代码,一遍修正图。可是到了后面图的修改量太大了。改到恶心的地步,就一心编码了。图都是后补的。这次重构最大的感慨就是:“在困难中成长”,经常遇到不懂的问题,成功的话一研究就是小半天;如果搞不
阅读全文
posted @
2012-02-18 11:22
刘正权的博客
阅读(135)
推荐(0) 编辑
VB.NET使文本框只能输入数字
摘要:编制计算类程序时文本框一般都用于输入数字数据,此时可以通过以下步骤来确保用户输入数据的正确性:首先添加好文本框控件TextBox后把属性IMEMode的值改成Disable,这样在该文本框中就不能使用中文输入法了。然后对文本框的KeyPress事件添加以下代码Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Textbox1.KeyPressIf Char.IsDigit(e.KeyChar) Or e.KeyChar
阅读全文
posted @
2012-02-03 11:35
刘正权的博客
阅读(402)
推荐(0) 编辑
实体类生成器
摘要:首先声明一下,本文以及本程序,并非完全我个人的创意或想法,我阅读了园友“小Y”的“C#实体类生成器”程序,重写而成。修正了他原有的部分BUG,增加了一些新的功能,且本程序只支持SQL Server2005数据库。 下面简单介绍一下本程序的操作步骤: 一、初始界面如图(一)图(一) 二、输入服务器,数据库,以及登录账号和密码。如图(二)图(二) 三、点击“测试连接”按钮,尝试连接到服务器,如果连接成功,第二个和第三个GroupBox将变成可用状态,且“表名”下拉对话框中将绑定该数据库对应的所有表名;如果连接失败,则抛出异常信息。连接成功如图(三),连接失败如图(四)图(三)图(四) ...
阅读全文
posted @
2012-02-01 09:29
刘正权的博客
阅读(290)
推荐(0) 编辑
组合查询存储过程的实现
摘要:历经千辛万苦,终于实现了这个组合查询的存储过程。之前在网上看了很多资料,感觉讲的也就那么回事儿。在写存储过程之前,心中总是有很多疑虑。比如创建好存储过程之后,保存在哪里才会不妨碍它运行呢?我刚写完的存储过程,在SQL Server里对应的位置为什么不显示呢?存储过程的名字怎样起呢?…………可能就是对这块儿的知识太匮乏了,才会产生诸多疑虑。但是只要你自己动手把它实现了,哪怕是简单功能的实现,都会切身体会到”实践出真知”深刻内涵。set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go ALTER PROCEDURE [dbo].[OperRecordThre..
阅读全文
posted @
2012-02-01 09:01
刘正权的博客
阅读(184)
推荐(0) 编辑