随笔分类 -  其它

摘要:抽象工厂是设计模块中创建型模式的一种,它比起工厂方法模式来说,更加具有一般性,在本模式中会引入一个产品族的概念,就是说,在本模式中抽象产品会有多个,然后用抽象工厂去调用它们,具体怎么去调用由具体工厂来实现。 看下列代码,主要实现动态生成按钮和弹出窗口的功能,弹出窗口可以根据浏览器的类型去调用适合 自己的方法,按钮也可以根据传入的样式和类型去自动生成按钮。 class Program ... 阅读全文
posted @ 2011-08-23 11:07 张占岭 阅读(515) 评论(0) 推荐(1)
摘要:事件是这样的,我的每个页面都有一些属性,我拿其中一个属性PageTitle为例,它是一个ArrayList 它是页面标题导航的意思,就是说它的标题用来存储一些标题导航,比如,产品列表页,它的PageTitle可能被解释为 我的网站 > 产品 > 产品列表,而其它页面的标题导航的表现形式也大同小异。 了解的领域模式之后,现在我们再来看程序的实现: #region 抽象产品 (Abst... 阅读全文
posted @ 2011-08-22 17:19 张占岭 阅读(530) 评论(2) 推荐(0)
摘要:// 将用户控件转换为字符串01 public static string RenderPartialToString(string file, object view)02 {03 ViewDataDictionary vd = new ViewDataDictionary(view);04 ViewPage viewPage = new ViewPage { ViewData= vd };05 Control control = viewPage.LoadControl(file);06 07 viewP... 阅读全文
posted @ 2011-08-19 12:23 张占岭 阅读(1630) 评论(2) 推荐(0)
摘要:首先,为了安全起见,服务器的SQLSERVER不开放远程访问,这样,我们有两种方案可以选择,其一就是webservice,其二就是比较简单的XML,今天我主要讲XML。 先说明一下,两个网站域名为a.com和b.com,a.com是b.com的分站,它们的新闻是共享的,就是一样的,所以没必要在a.com数据库里再重复插入一批数据了。 解决方案:在b.com里建立一个开放的XML文件,供a.com... 阅读全文
posted @ 2011-08-19 10:50 张占岭 阅读(434) 评论(0) 推荐(0)
摘要:我们知道枚举默认和int类型是可以直接强转换的,并不会出现任何错误,但对于其它类型来说, 有可能会有问题,比如,一个enum类型, 如下声明会有错误 enum ProductColumns { ProductId=1, . . . Status=4294967297, } OK,这样的话,程序会报错,因为它已经超过了int型的范围(int型其实就是Int32结构体类型,32表示最大存储的整型范围... 阅读全文
posted @ 2011-08-19 00:03 张占岭 阅读(1143) 评论(1) 推荐(1)
摘要:关键字是为了方便大家使用,而特意为.net拿出来直接使用的类型,如int,short,long,string,delegate及enum等类型都是关键字,现在说一下它们的原型(F2键,转到定义可以看到) int => public struct Int32 short => public struct Int16 long => public struct Int64 string => pub... 阅读全文
posted @ 2011-08-18 15:20 张占岭 阅读(402) 评论(0) 推荐(0)
摘要:这比通过使用的扩展方法来实现枚举描述要复杂一点,就是代码多了一点,原理很简单,就是定义一个枚举类型,然后定义一个字典,字典为<枚举,字符>,然后为它赋值即可,代码如下:namespace Entity.Commons{ public enum Status { Normal = 100, PendingApprove = 300, Deleted = 400, Blocked = 500, } /// <summary> /// 状态描述 /// </summary> public class StatusDescribe { /// <summary 阅读全文
posted @ 2011-08-17 10:49 张占岭 阅读(689) 评论(6) 推荐(0)
摘要:学习通过MSMQ发送简单类型的消息和复杂类型的消息看代码:namespace MSMQ{ class Program { static void Main(string[] args) { const string path = @".\private$\myQueue"; MyQueue.Createqueue(path); MyQueue.SendMessage(path, "OK1");//队列,先进先出 MyQueue.SendMessage(path, "Ok2"); MyQueue.SendMessage(path, &q 阅读全文
posted @ 2011-08-16 11:24 张占岭 阅读(3067) 评论(0) 推荐(0)
摘要:解除依赖就是松耦合,松耦合就一定好吗?当然不是程序的耦合度与内聚度要放在一起说,当然,对于领域层来说,适当的减少类与类之间的依赖是很有必要的,看下面我的这段代码 一个例子,一个订单系统,它根据国家有不同的下单方法,对于低层(DATA层)是一样的,但对于领域层,也叫业务逻辑层,它是不一样的,可能小日本下单打5拍,中国人下单不打折,我也是可以理解的,因为中国石油在对于中国人上是很吝啬的,而对于小日本则慷慨解囊。不多说了,看代码: /// <summary> /// 订单实体 /// </summary> class Order { } #region 传统作法,无有考 阅读全文
posted @ 2011-08-11 16:53 张占岭 阅读(585) 评论(3) 推荐(1)
摘要:(合理运用) 因为图像尺寸只有两个属性,宽和高,也没有什么更复杂的应用逻辑,所以用构结而不用类 (代码清晰) 对于一个类来说,如果它的属性对外部是不可写的,我们可以使用以下方法,如果对于一个类来 说,它的构造方法可以根据实际业务情况进行重载方法的设计,如下,如果建立实现zzl时,不 传递任何参数,它的默认值就是zzl,密码就是zzl123,这样设计的好处就是减少了用户实例化时 的代码量。 (结构清晰) 对于一个对象来说,如果它的内部功能需要与很多对象使用,那应该把它提升为一个抽象基类,把它只对子类开发的属性的访问权限控制为protected,把自己可以实现的并且子类可以去复写的方法设置为v 阅读全文
posted @ 2011-08-10 12:29 张占岭 阅读(1306) 评论(2) 推荐(0)