摘要: 工厂方法类图:抽象工厂类图:工厂方法模式:一个抽象产品类,可以派生出多个具体产品类。 一个抽象工厂类,可以派生出多个具体工厂类。 每个具体工厂类只能创建一个具体产品类的实例。抽象工厂模式:多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。 一个抽象工厂类,可以派生出多个具体工厂类。 每个具体工厂类可以创建多个具体产品类的实例。 区别:工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。 工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个 阅读全文
posted @ 2013-11-06 23:10 小武子技術博客 阅读(335) 评论(1) 推荐(0) 编辑
摘要: 也算是在這工作了一年多了吧,看到一些製造型企業工作方式及工作內容,發表一下我的自己感受吧!! 2012年3月份進了該公司,其實說真的從上班的第一天我就沒有安心下來工作,其主要原因是工作方式及管理方式吧,先談談我在其企業工作的內容吧,主要是維護系統及系統新功能開發,我們IT部門總共有二十幾個人,總共分三個級別:一個網絡組,主要維護公司網路、電腦維修、打印機等;一個是ERP組,感覺起來比我們還差,人員比我們還多,十來個人吧,系統比我們系統還要爛,他們主要用的是delphi,也只會寫寫存儲過程之類,涉及到delphi程序的很少;維護我們系統有五個人,當然其中一個是老大咯【老大不懂程序,只懂一些SQ. 阅读全文
posted @ 2013-11-06 11:46 小武子技術博客 阅读(359) 评论(1) 推荐(0) 编辑
摘要: 它的里面是一堆工厂方法,每个工厂方法返回某种类型的对象。比如说工厂可以生产鼠标和键盘。那么抽象工厂的实现类(它的某个具体子类)的对象都可以生产鼠标和键盘,但可能工厂A生产的是罗技的键盘和鼠标,工厂B是微软的。这样A和B就是工厂,对应于抽象工厂; 每个工厂生产的鼠标和键盘就是产品,对应于工厂方法;用了工厂方法模式,你替换生成键盘的工厂方法,就可以把键盘从罗技换到微软。但是用了抽象工厂模式,你只要换家工厂,就可以同时替换鼠标和键盘一套。如果你要的产品有几十个,当然用抽象工厂模式一次替换全部最方便(这个工厂会替你用相应的工厂方法)所以说抽象工厂就像工厂,而工厂方法则像是工厂的一种产品生产线 ---- 阅读全文
posted @ 2013-10-26 09:32 小武子技術博客 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 1 MVC设计模式简介 MVC结构是为那些需要为同样的数据提供多个视图的应用程序而设计的,它很好的实现了数据层与表示层的分离。MVC作为一种开发模型,通常用于分布式应用系统的设计和分析中,以及用于确定系统各部分间的组织关系。对于界面设计可变性的需求,MVC(Model-View-Controller)把交互系统的组成分解成模型、视图、控制器三种部件。 视图部件把表示模型数据及逻辑关系和状态的信息以特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。 控制器部件是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应... 阅读全文
posted @ 2013-09-26 09:29 小武子技術博客 阅读(342) 评论(0) 推荐(0) 编辑
摘要: Log4Net是用来记录日志的,可以将程序运行过程中的信息输出到一些地方(文件、数据库、EventLog等),日志就是程序的黑匣子,可以通过日志查看系统的运行过程,从而发现系统的问题。日志的作用:将运行过程的步骤、成功失败记录下来,将关键性的数据记录下来分析系统问题所在。Log4J。对于网站来讲,不能把异常信息显示给用户,异常信息只能记录到日志,出了问题把日志文件发给开发人员,就能知道问题所在。配置Log4Net环境(1)新建一个WebApplication(2)添加对log4net.dll的引用(bin\net\2.0\release 不能引用debug版本)(把相应的dll文件拷贝到项目中 阅读全文
posted @ 2013-09-23 10:20 小武子技術博客 阅读(459) 评论(0) 推荐(1) 编辑
摘要: 一、写入文件 string strContent = textBox2.Text.ToString(); //创建文件流(文件路径,文件操作,创建) using (FileStream fs = new FileStream(textBox1.Text, FileMode.Create)) { //将字符串转成byte数组 byte[] byteFile = Encoding.UTF8.GetBytes(strContent); //参数:要定稿到文件的数据数组... 阅读全文
posted @ 2013-09-11 21:04 小武子技術博客 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 第一种方式(继承System.Web.UI.Page类,重写OnInit方法):public class CheckSession : System.Web.UI.Page { protected override void OnInit(EventArgs e) { if (Session["User"] == null) { Response.Redirect("/Login.aspx"); } base.OnInit(e); } }第二种方式(继承IHttpModule第九个管道)/Application ... 阅读全文
posted @ 2013-09-09 20:27 小武子技術博客 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 一、首先将SWFUpload所有文件加入项目中,如图二、将swfupload和handlers两个文件引入页面中三、将以下代码引用页面中四、创建一般处理程序(代码如下) if (context.Request["action"].ToString() == "up") { HttpPostedFile file = context.Request.Files["Filedata"]; //获取上传的文件数据 string fileName = Path.GetFileName(file.FileName);//获取上传文件的名称 st 阅读全文
posted @ 2013-09-08 23:00 小武子技術博客 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 页面框架通过如下过程处理aspx文件请求:1:解析aspx文件,并创建一个控件树;2:使用控件树动态实现一个继承自Page类的类或者控件 ;3:动态编译类;4:缓存编译类,以备后用;5:动态创建一个编译类的实例。页面开始启动生命期,在这个过程中,页面将通过生命周期的不同阶段;=========================================================页面经历了如下阶段【其中一些阶段标记为仅仅回传,是说只有在被回传到服务器时,页面才经历这些阶段】:01:页面首先从QueryString或者Request对象的Form集合中获得回传数据。02:页面检测回传数据 阅读全文
posted @ 2013-09-08 10:28 小武子技術博客 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 在C#2中,由于有了方法组,匿名方法,类型的协变和抗变,使得运用delegate变得很容易,在注册事件时代码变得简单易读,但是在C# 2中,代码仍然有点臃肿,大块的匿名方法会降低代码的可读性,一般我们不会在一条语句中写多个匿名方法。 LINQ产生的一个目的是能够方便的对数据进行管道操作而不失语义。LINQ能够表达对数据进行的各种逻辑操作,LINQ执行时,这些操作实际上都是通过委托来实现的。使用LINQ to Object操作数据时,一条语句中包含多个委托是很常见的,C# 3中的Lambda表达式正式这幕后的功臣,它不仅使得我们能够在一条代码中写多个委托,而且不会丧失代码的可读性。相信用过LIN 阅读全文
posted @ 2013-09-08 00:06 小武子技術博客 阅读(331) 评论(0) 推荐(0) 编辑