![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
陆老师Peter
高校计算机专业教师、项目经理、软件研发负责人。
展开
-
WinForm开发(59)——单例模式(Winform窗体的实现)
在我的设计模式分类当中,我选择单例模式作为我第一个要写的设计模式,其一,单例模式简单、容易理解让人接受,其二,单例模式很常用,在实际的Winform窗体应用开发中能够带来更好的客户体验。 单例模式的核心是在应用程序的生命周期中只实例化一次当前类,让整个应用程序中只拥有一个当前类实例化的对象,在Winform应用程序中,我们显示窗体的方法有两种方法:第一种,Show()方法,这种方法当点击...原创 2019-11-27 15:11:13 · 1518 阅读 · 1 评论 -
WinForm开发(58)——WinForm 窗体中实现单例模式(判断winform窗体是否重复打开)
foreach (Form frm in Application.OpenForms) { if (frm is MainPlanForm) { frm.Focus(...原创 2019-11-27 14:50:06 · 264 阅读 · 0 评论 -
设计模式(8)——单例模式(3)——单例模式延伸阅读
1、这里的单例实现方式一般足够了。单例还有其他的实现方式,满足特殊要求,具体参考:http://blog.csdn.net/wanghao72214/archive/2009/04/02/4042607.aspxhttp://www.cnblogs.com/aspnet2008/archive/2008/05/09/1190328.htmlhttp://tianli.blog.51ct...原创 2019-09-05 23:14:50 · 109 阅读 · 0 评论 -
设计模式(7)——单例模式(2)——单例模式案例:文件读取缓存管理器
1、FileCacheManager,根据文件名读取文件内容,提供一个方法string ReadFile(string filename),参数是文件名,返回值为文件内容。2、如果每次都读取文件太慢了,内存的读写速度比硬盘读写速度快,因此第一次读取文件以后将文件内容放到内存缓存中,再读取的只要去缓存中读取文件内容就可以。这也是ASP.Net中Cache等的原理。3、ReadFile改造后实...原创 2019-09-05 21:58:01 · 395 阅读 · 0 评论 -
设计模式(6)——单例模式(1)——单例模式(笔试面试)
1、单例模式,又叫单件模式、Singleton模式,目的:只能创建类的一个对象。2、一个类通常可以创建无限个对象,但是有时候需要只有一个对象的类,比如全局资源管理器、缓存管理器等,一山不容二虎,这种情况下如果有多个对象就会乱掉了。缓存管理器只能有一个,否则把数据扔给一个管理器,却管另外一个要。一个单例类一般都是:***管理器。3、单例模式的基础(如何设计只能有一个对象的类):(1)开发...原创 2019-09-05 21:49:10 · 137 阅读 · 0 评论 -
I/O(8)——设计模式(5)——装饰者模式(2)——文件流高级
1、文件流的Flush、Close、Dispose。缓冲区。Flush(); //强制把缓冲区中的数据写入文件。Close(); //会把没有写入缓冲区的数据写入文件(Flush)再关闭。Dispose方法会调用 Close,所以以后用 Stream 的时候用 using 最保险。2、更方便的用法:File.OpenRead,File.OpenWrite,内部还是new。...原创 2019-09-05 20:45:52 · 205 阅读 · 0 评论 -
多态和接口(11)——设计模式(4)——多态和接口知识点汇总
1、设计模式只有一种:多态,没别的了。模式就是多态的各种组合。2、一个类如果没写父类,那么它就会从object那里继承。3、在一个static成员中不能引用非static的成员。4、int是object的子类,但是int[]不是object[]数组的子类。Person是object的子类,但是Person[]不是object[]数组的子类。5、泛型:通俗的讲可以理解为一个动态的数...原创 2019-09-04 10:17:11 · 198 阅读 · 0 评论 -
多态和接口(10)——设计模式(3)——装饰者模式(1)——装饰者模式:数据加密提供者(非常难)
1、写入的时候将数据加密写入,读取的时候将数据解密读出。加密、解密代码可参考: https://blog.csdn.net/qq_34573534/article/details/1005306222、通过调试来理解调用过程和对象。3、数据加密提供者以装扮另外一个提供者的方式出现。数据加密提供者可以和其他提供者搭配使用,任意组合。5、这就是装饰者模式。这个程序理解了设计模式就掌握了。装...原创 2019-09-04 00:18:08 · 237 阅读 · 0 评论 -
多态和接口(5)——设计模式(2)——基于接口编程
一、基于接口编程1、变量(参数、返回值等)的类型能用父类就不要用子类,能用接口就不要用类,返回值、属性、参数等等,类型越靠近Object越好,尽量不要用具体的类型。只要返回的类型符合签名的要求,就能够随意控制返回的对象。如果将返回值设置为NotNullArrayList,有一点不想控制非空值了,就直接返回ArrayList就可以了。2、接口中的方法不能声明public、private等,因...原创 2019-09-03 12:07:14 · 231 阅读 · 1 评论 -
多态和接口(3)——设计模式(1)——方法override、CLR(Common Language Runtime 公共语言运行时)、CTS(Common Type System 公共语言系统)
1、多态就是设计模式!!!多态理解了设计模式就理解了。2、定义坐标类,坐标类默认继承Object的ToString()方法,没有自己的特色。3、override ToString()输出友好信息: public override string ToString() { return string.Format("({0},{1})",X,Y);...原创 2019-09-03 10:58:26 · 208 阅读 · 0 评论