随笔分类 -  Design Pattern

摘要:中介即是输入输出的问题。 以下实例,即是输入图片扩展名,得到相关的图片格式ImageFormat。 抽象类中有2个抽象的方法和函数。一个为方法,一个为函数。 方法是中介者使用的方法,返回函数是为客户所使用。 接下来,我们写一个实体类,这个类实现上面的抽象方法: 收集所有相关涉及的图片格式: 程序使用 阅读全文
posted @ 2020-09-29 06:59 Insus.NET 阅读(213) 评论(0) 推荐(0) 编辑
摘要:策略模式,即规则在变化之中,结果终归为一。公司给员工计算工资,如有加班费,差旅费,每个月的生活补帖等等其它费用需要计算。这个费的规则是不尽相同。 不管策略的规则怎样,终归需要计算出一个结果 工资:可以定义一个接口: interface IStrategy { double Cost(double b 阅读全文
posted @ 2017-12-15 13:21 Insus.NET 阅读(391) 评论(0) 推荐(3) 编辑
摘要:昨天有写过一个单例模式的练习。《单例模式(C#)》 写得较为复杂,今天再使用另外的方法来实现: class Au { private static readonly Au instance = new Au(); public static Au Instance { get { return in 阅读全文
posted @ 2017-12-12 12:00 Insus.NET 阅读(579) 评论(1) 推荐(1) 编辑
摘要:学习设计模式,一直没有机会写一个单例模式。今天在控制台应用程序,写个简单的例子,Hi与Hello。 public sealed class At { private static At instance = null; public static At Instance { get { if (in 阅读全文
posted @ 2017-12-11 14:59 Insus.NET 阅读(747) 评论(2) 推荐(1) 编辑
摘要:周日外出去玩,出行方式有步行,骑行,公车。每个人因人或环境等等因素而选择的方式有所不同。简单工厂是符合此类型的。只有在运行时,才知道使用的哪种方法。创建一个抽象类Base: public abstract class Base { public abstract string Mode(); } 下 阅读全文
posted @ 2017-12-05 14:38 Insus.NET 阅读(353) 评论(0) 推荐(1) 编辑
摘要:“7月20日 23:30 Visual Studio 2015正式版正式发布,作为微软新一代开发利器,在全地球乃至全宇宙乃至全太阳系中最强大 且没有之一的IDE(上述描述来自微博用户评论)跨平台支持成为Visual Studio最新DNA。在智能移动端App开发,支持无论是面向何种智能设备,无论是支... 阅读全文
posted @ 2015-07-24 09:15 Insus.NET 阅读(3365) 评论(5) 推荐(2) 编辑
摘要:早上有写一篇《设计模式--建造者(Builder)模式》http://www.cnblogs.com/insus/p/4179620.html。是在ASP.NET环境中,应用与演示设计模式(Builder)。现在Insus.NET从博文中最后的下载链接下载取源程序,它是有写得不够理想,现在重构它。问... 阅读全文
posted @ 2014-12-23 15:14 Insus.NET 阅读(1187) 评论(0) 推荐(2) 编辑
摘要:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示 --《设计模式》GOFInsus.NET在ASP.NET环境中,列举一个建造者设计模式(Builder)例子,以最帖近开发环境与需求。开发站点时,我们需要开发新闻类,视频类,图片类等等。每个网页还有可能是页头,内... 阅读全文
posted @ 2014-12-23 11:21 Insus.NET 阅读(722) 评论(0) 推荐(2) 编辑
摘要:温故而知新,看了以前写的博文《Asp.net读取Excel文件 2》http://www.cnblogs.com/insus/archive/2011/05/05/2037808.html觉得第一段代码示例,可以使用设计模式的简单工厂来实现。也就是说,使用两个全新的类,替代两个Switch分支。Xl... 阅读全文
posted @ 2014-12-18 10:19 Insus.NET 阅读(952) 评论(0) 推荐(2) 编辑
摘要:再重构此篇《创建一个带模版的用户控件 V.2》http://www.cnblogs.com/insus/p/4164149.html让其它动态实现header,Item和Footer。Insus.NET不想所有代码写在InstantiateIn(Control container)方法内的switc... 阅读全文
posted @ 2014-12-16 15:55 Insus.NET 阅读(911) 评论(0) 推荐(1) 编辑
摘要:今天学习另一个设计模式,适配器(Adapter)模式,这是一个共同方向,但有特殊要求,就应用到此设计模式。写到这里,想起很久以前,有写过一篇《ASP.NET的适配器设计模式(Adapter)》http://www.cnblogs.com/insus/archive/2013/02/04/289142... 阅读全文
posted @ 2014-12-11 14:28 Insus.NET 阅读(777) 评论(0) 推荐(1) 编辑
摘要:今天有学习设计模式的原型(Prototype)《设计模式--原型(Prototype)模式》http://www.cnblogs.com/insus/p/4152773.html。为了加强了解与认识,现再做一个练习。创建一个原型接口:创建一个用户控件,并实现接口:现在网页中有一个按钮,用户点一点这个... 阅读全文
posted @ 2014-12-09 23:53 Insus.NET 阅读(677) 评论(2) 推荐(1) 编辑
摘要:写这些也许有人认为“为了模式而模式”。Insus.NET所想到的,每个大师成为大师之前,也许都得这样做。走路,从小就开始学,直至现在,谁还不是为了走路而走路?一直重复着......很多人没有分享自己的经验,分享自己的过程,分享这东西,它不会因为分享而变少了......感动的故事,是因为分享了历程而让... 阅读全文
posted @ 2014-12-09 15:36 Insus.NET 阅读(682) 评论(0) 推荐(1) 编辑
摘要:ASP.NET开发,一开始是为了超赶时间完成任务,只能把功能实现即可。如下面一个功能,在网页中有一个铵钮,用户点一点切换网页的图片,再点一点又切换回来。我们要怎样做?在铵钮事件中去变更图片的路径即可。这个例子,Insus.NET找到两张图片,图片来自《ASP.NET的适配器设计模式(Adapter)... 阅读全文
posted @ 2014-12-05 15:13 Insus.NET 阅读(2458) 评论(3) 推荐(6) 编辑
摘要:我们在开发asp.net时,经常有使用if...else...或者是使用switch来进行多个条件判断。如下面这篇《用户控件(UserControl) 使用事件 Ver2》http://www.cnblogs.com/insus/archive/2011/11/18/2253605.html,就是一... 阅读全文
posted @ 2014-12-04 10:47 Insus.NET 阅读(1976) 评论(7) 推荐(7) 编辑
摘要:前几天,搬房子时又拿起《重构----改善既有代码的设计》这本书来随便翻来看下,重构Refactoring在开发时,是时常也经常会使用得到。她确实教我们怎样把写程序写简洁,清楚 好明白,好理解,好维护......今天为博客写点重构相关。以网友实际的例子,在论坛上看到的:public void show... 阅读全文
posted @ 2014-12-03 13:53 Insus.NET 阅读(5562) 评论(11) 推荐(32) 编辑
摘要:时隔很长一段时,现在又重温设计模式,上个星期学习《设计模式--代理(Proxy)模式》http://www.cnblogs.com/insus/p/4128814.html。温故而知新,这次学习另一个设计模式,中介者(Mediator)模式,学习之前,先从下面的问题开始。在前一段时间,Insus.N... 阅读全文
posted @ 2014-12-01 10:38 Insus.NET 阅读(2334) 评论(5) 推荐(6) 编辑
摘要:在公司,经常性听到采购部的人说采购某样东材料,采购不了,需要通过代理商才可以。以前Insus.NET也做有一个练习《找人办事,代理设计模式(Proxy)》http://www.cnblogs.com/insus/archive/2013/02/27/2935081.html。理解起来跟公司的采购员找... 阅读全文
posted @ 2014-11-28 16:31 Insus.NET 阅读(973) 评论(0) 推荐(4) 编辑
摘要:Insus.NET在去年有写过一篇《软件研发公司,外观设计模式(Facade)》http://www.cnblogs.com/insus/archive/2013/02/27/2936061.html例中写得过于简单与抽象。没有实质内容似的。这次想再写一个。希望能再次加强。为子系统中的一组接口提供一... 阅读全文
posted @ 2014-11-27 15:55 Insus.NET 阅读(1929) 评论(2) 推荐(3) 编辑
摘要:有在论坛看见一帖,《C#用什么方法可以减少或不使用switch》Insus.NET的解决方法,是使用工厂方法来处理,可以创建一个工厂接口,然后每个方法设计为一个工厂类,并实现工厂接口。工厂接口:IGetFactoryusing System;using System.Collections.Generic;using System.Linq;using System.Web;/// <summary>/// Summary description for IGetFactory/// </summary>namespace Insus.NET{ public inter 阅读全文
posted @ 2013-03-04 13:56 Insus.NET 阅读(2237) 评论(5) 推荐(1) 编辑