摘要: 定义:应该有且仅有一个原因引起类的变更。There should never be more than one reason for a class to change.优点:1、类的复杂性降低,实现什么职责都有清晰明确的定义;2、可读性提高,复杂性减低,可读性当然提高;3、可维护性提高,可读性提高,可维护性当然提高;4、变更引起的风险减低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改... 阅读全文
posted @ 2010-09-26 08:32 13路易的 阅读(976) 评论(0) 推荐(0) 编辑
摘要: 逻辑查询处理中的各个阶段SQL逻辑查询处理的步骤序号(8) SELECT (9) DISTINCT (11) <TOP_specification> <select_list>(1) FROM <left_table>(3) <join_type> JOIN <right_table>(2) ON <join_condition&g... 阅读全文
posted @ 2010-09-17 09:50 13路易的 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 微软的一个文章:设计模式:Model View Presenter  个人总结一下MVP模式  M既是模型比如我们的实体模型层。  V既是UI界面显比如控件,JS脚本等。  P既是连接V与M的桥梁。V层不直接引用M层的内容,P层负责连接M层与V层。V层将控件传给P层,P层通过引用填充数据,或者是获取数据。  总结起来就是:UI界面与逻辑代码的分离。逻辑代码与数据库操作的分离。逻辑代码的重用性,例如... 阅读全文
posted @ 2010-09-13 21:03 13路易的 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 何谓控制反转(IoC = Inversion of Control),何谓依赖注入(DI = Dependency Injection)?一直都半懂不懂,今天看到两个比喻,觉得比较形象。 IoC,用白话来讲,就是由容器控制程序之间的关系,而非传统实现中,由程序代码直接操控。这也就是所谓"控制反转"的概念所在:控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。 正在业界为IoC争吵不休时,... 阅读全文
posted @ 2010-09-13 19:22 13路易的 阅读(502) 评论(0) 推荐(1) 编辑
摘要: 开发人员不太喜欢去弄脚本,原因很多,比如认为太简单,认为没有挑战性,认为资源比较丰富很容易通过网络就查询到自己想要的,因为没有很好的编译器,不能像程序一样很方便的进行调试。或者就是是些起来也会使用过程化程序设计的思路去做JavaScript开发。这样带来的后果就是程序很难维护。  通过以下几种方式,基本上就可以很好的操作JavaScript了。JavaScript的封装JavaScript的扩充J... 阅读全文
posted @ 2010-08-31 23:42 13路易的 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 面向对象概念介绍1. oo程序设计与过程程序设计的区别:  1.1面向对象程序设计是基于对象的,属性、方法包含类当中,具体操作也是针对类。而过程化编程是将属性、方法分开的。  1.2适当的程序设计:如果oo程序设计适当的话,不会存在全局数据之类的东西,这一点保证oo程序设计的数据完整性。2. 从过程化程序设计,转换到面向对象程序设计:  2.1面向对象程序开发基于的是对象操作,数据传输用对象、数据... 阅读全文
posted @ 2010-08-22 20:57 13路易的 阅读(659) 评论(0) 推荐(0) 编辑
摘要: 1.通过配置+反射,可以实现“开放封闭”原则,对扩展开放,对修改封闭。  2.易维护,通过分层,将程序进行分层,进行职责划分。  3.可用性提高。单独维护一个DLL文件即可。可以实现插拔操作。  工厂方法+配置文件+反射,主要是一种思路的体现,通过这种方式可以扩展我们的思维方式。    1.Yang.ISQL  数据库操作的接口,作为Yang.MSSQL、Yang.Orac... 阅读全文
posted @ 2010-08-15 13:02 13路易的 阅读(915) 评论(1) 推荐(1) 编辑
摘要: 突然想写一个这样的东西。通过Lambda、泛型、匿名类型、扩展方法等技术写一个类似于Linq的东西挺不错,会对自己这些技术的理解有所提高。  1.通过扩展方法给IEnumerable<T>类型的数据增加一些方法。  2.扩展IEnumerable<T>,实现Sum、Max、Min、Avg、Group By、Select、Where等方法。  3.委托Func<T, T... 阅读全文
posted @ 2010-08-12 23:38 13路易的 阅读(542) 评论(0) 推荐(0) 编辑
摘要: 新增的语法确实解决了很多问题,方便的很多。总结一下,防止日后时间长忘记。  1.隐式类型化本地变量、隐式类型数组初始化[代码]  2.对象初始化器、集合初始化器[代码]  3.匿名类型[代码]  4.扩展方法[代码]  5.委托、匿名方法、Lambda表达式[代码]  当然还有Lambda表达式,和Linq语言。所有的这些新增的特性,统一的展现都是在Linq语言当中。都是为其进行服务的。事例:下载... 阅读全文
posted @ 2010-08-12 10:51 13路易的 阅读(218) 评论(0) 推荐(0) 编辑
摘要: SQL server中convert函数大全 语句及查询结果: SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06 SELECT CONVERT(varchar(100), GETDATE(), 2): 06.0... 阅读全文
posted @ 2010-08-10 15:44 13路易的 阅读(711) 评论(0) 推荐(0) 编辑