找到相关内容 1088
步步为营 .NET 设计模式学习笔记 十四、Decorator(装饰模式)
概述 在软件系统中,有时候我们会使用继承来扩展对象的功能,但是由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀。如何使“对象功能的扩展”能够根据需要来动态地实现?同时避免“扩展功能的增多”带来的子类膨胀问题?从而使得任何“功能扩展变化”所导致的影响将为最低?这就是本文要讲的Decorator模式。
http://cyqdata.cn/cnblogs/article-detail-36600 
【分享】一个Asp.net mvc下的分页控件MvcPagerX
 分页再平常不过的需求,其实也很简单完全可以写百行以内的代码扩展到HtmlHelper上实现,但是为了扩展性,我稍微(这所以是稍微,是因为本人只稍微了解,还不敢说用得很熟练)用了点面向对象的思想对这个分页控件进行了设计,当然设计之前也参考了一些盆友的作品。吸取了一些思想的精华,下面就讲讲怎么设计以及为什么要这么设计接口部分:using System.Collections.Ge
http://cyqdata.cn/cnblogs/article-detail-36553 
Asp.net Mvc自定义客户端验证(CheckBox列表的验证)
最近在使用MVC进行开发时,使用进行客户端的输入验证,加上使用MVC3的新视图引擎感觉还是挺方便的,不用自己去写很多js了,并且效果也能让人接受 可是遇上要向外输出比如一个CheckBox列表时就纠结了,验证代码还得自己去写,这样就造成了客户端采用了两套验证,感觉不统一也不优雅,于是就琢磨了一下,便有了如下实现方式。   HtmlHelper的扩展类主要包括CheckBoxList,Ch
http://cyqdata.cn/cnblogs/article-detail-36552 
使用gettext技术为ASP.NET网站实现国际化支持
不知道有多少人对这个题目感兴趣,因为最近在做一个网站玩玩,有点闲心给网站加了国际化支持。虽然ASP.NET已经有ResourceManager这个类,并且有标签实现国际化的支持了,但是它的问题是,ResourceManager对每一个需要翻译的句子都要求有一个键(Key): 1.       要先创建一个.resx文件,在Visual
http://cyqdata.cn/cnblogs/article-detail-36548 
.Net 4.0 Parallel 编程(九)Task中的数据共享(下)
在上篇Post中我们看过了几种常用的同步类型,本篇文章会介绍下申明性的同步的实现以及对于集合类型数据共享的问题,首先看下申明性同步的实现。 申明性同步 我们可以通过使用Synchronization 特性来标识一个类,从而使一个类型的字段以及方法都实现同步化。在使用Synchronization 时,我们需要将我们的目标同步的类继承于System.ContextBoundObject类型。我们
http://cyqdata.cn/cnblogs/article-detail-36538 
ORACLE HANDBOOK系列之四:ODP.NET与复杂的PL/SQL数据类型(Using ODP.NET To Deal With Complex PLSQL Data Types)
在开始介绍之前,先给出文章里用到的所有PL/SQL代码: (类型定义) CREATE OR REPLACE TYPE T_Nested_Tab_Str IS TABLE OF VARCHAR2(25);--CREATE OR REPLACE TYPE T_Object&nbs
http://cyqdata.cn/cnblogs/article-detail-36537 
DotNet并行计算的使用误区(二)
上接 DotNet并行计算的使用误区(一) ● 误区三 . 并行计算是运行时的事     的确,DotNet会在运行时决定是否使用并行库处理代码,但是早在你编译代码时,编译器就早已为这一时刻做好准备,换就话说:     1. 使用并行库处理代码与普通方式对比,IL的结构是不同的。     2. 即使你
http://cyqdata.cn/cnblogs/article-detail-36527 
步步为营 .NET 设计模式学习笔记 十三、Bridge (桥接模式)
概述 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。 桥梁模式是一个非常有用的模式,也是比较复杂的一个模式。熟悉这个模式对于理解面向对象的设计原则,包括"开-闭"原则(OCP)以及组合/聚合复用原则(CA
http://cyqdata.cn/cnblogs/article-detail-36515 
DotNet并行计算的使用误区(一)
    并行计算无疑是.Net Framework平台的一大亮点,它自动的将一个任务分解,并以并发的形式执行,程序员不用操心各任务之间的协作和同步问题,这使得可以更加专注于业务的实现。     .NET 中的 TPL(Task Parallel Library),中文意思是任务并行库,它的设计是为了能更简单地编写可自动使用多处理器的托管
http://cyqdata.cn/cnblogs/article-detail-36498 
步步为营 .NET 设计模式学习笔记 十二、Observer (观察者模式)
概述 在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化。使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合。 一个软件系统常常要求在某一个对象的状态发生变化的时候,某些其它的对象做出相应的改变。做到这
http://cyqdata.cn/cnblogs/article-detail-36469 
ElMAH(ASP.NET错误日志记录与通知)系列文章-基础应用篇
    最近在研究几个ASP.NET的开源项目时,发现都在使用ELMAH来作为记录整个应用程序的错误日志,于是拿来小研究了一下,在这里和各位分享一下,如果有使用过的,请多指教。     对于ELMAH,将用三篇系列文章来介绍:     概念篇     基本应用篇 &nb
http://cyqdata.cn/cnblogs/article-detail-36451 
步步为营 .NET 设计模式学习笔记 十一、Iterator(迭代器模式)
概述 在面向对象的软件设计中,我们经常会遇到一类集合对象,这类集合对象的内部结构可能有着各种各样的实现,但是归结起来,无非有两点是需要我们去关心的:一是集合内部的数据存储结构,二是遍历集合内部的数据。面向对象设计原则中有一条是类的单一职责原则,所以我们要尽可能的去分解这些职责,用不同的类去承担不同的职责。Iterator模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不
http://cyqdata.cn/cnblogs/article-detail-36430 
步步为营 .NET 设计模式学习笔记 十、Builder(建造者模式)
  概述  在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相对稳定。如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的&ld
http://cyqdata.cn/cnblogs/article-detail-36425 
ASP.NET自定义控件开发示例(二)
接着上次的内容。接下来我们让它的时间能不停走动。新建一个类TipTime3,新建脚本文件TipTime3.js,将TipTime2代码都复制过来。 为了能将C#的DateTime对象转换为JS的Date,需要将该时间距离1970-1-1午夜的毫秒数传给JS。 剩下的工作就是利用setInterval每隔1秒改变span标签的文本,略过。 下一步要实现利用AJAX获取服务端的时间。先要让控件实现I
http://cyqdata.cn/cnblogs/article-detail-36406 
AgileEAS.NET平台开发实例-药店系统-视频教程系列-索引
开篇        之前的系列,都是从贴图,贴代码的形式来跟大家说明,本篇就是把开发药店系统的过程中的具体过程和细节,通过视频的形式来跟大家分享,当然 可能由于我的思路也是有点跳跃,如果大家有什么不明白的地方,还请大家指出,每个视频都是比较的简短,过程也是非常的简单。希望对大家熟悉 AgileEAS.NET平台的开发过
http://cyqdata.cn/cnblogs/article-detail-36389 
AgileEAS.NET敏捷开发平台及案例下载(持续更新)-索引
    开篇             我们之前的一个系列,把如何使用AgileEAS.NET敏捷开发平台,通过药店系统来让大家对该药店系统有个整体上的简单认识,当然如果大家对之前的那个系列,有什么不 明白的地方,或者不清楚的地方,都可以提出来,我们会根据大家的反馈,来
http://cyqdata.cn/cnblogs/article-detail-36388 
ASP.NET MVC3 系列教程 – 新的Layout布局系统
I:回忆MVC2当中MasterPage那些事 code: <!------------Begin--------------> <!-- Master文件 --> <%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %> Master head <asp:Cont
http://cyqdata.cn/cnblogs/article-detail-36386 
ASP.NET杂谈-一切都从web.config说起(2)(ConfigSections详解-下)
        还是接着上一篇说起,在上两篇中主要和大家探讨了ConfigSection的几种常用形式,并举例几个例子说明了一下。其实它们主要都是继承System.Configuration.ConfigurationSection类来创建自定义配置节。其实在.Net Framework 1.0和1.1的时候,我们是实现Syst
http://cyqdata.cn/cnblogs/article-detail-36357 
ASP.NET MVC3 基础教程 – Web Pages 1.0
I:Web Pages 1.0中以“_”开头的特别文件(文件命名时不区分大小写) “_appstart.cshtml” & “_pagestart.cshtml” & “_viewstart.cshtml” _appstart.cshtml - 应用程序启动时在Global. Appli
http://cyqdata.cn/cnblogs/article-detail-36334 
步步为营 .NET 设计模式学习笔记 九、Command(命令模式)
概述 在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,可以实现二者之间的松耦合。这就是本文要说的Command模式。 意图 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求
http://cyqdata.cn/cnblogs/article-detail-36321