摘要:
理解: 依赖倒置原则(DIP)主程序要依赖于抽象接口,不要依赖于具体实现。高层模块不应该依赖底层模块,两个都应该以来抽象。抽象不应该依赖细节,细节应该依赖抽象。(具体看我上一篇贴子) 依赖倒置原则是六大设计原则中的一种,它的大致意思是所有模块都应该依赖于抽象,而不是直接依赖于另一个模块。依赖倒置原则 阅读全文
摘要:
为什么要有设计原则,我觉得一张图片就可以解释这一切 一、单一职责原则(SRP) 对于一个类而言,应该只有一个发生变化的原因。(单一职责不仅仅是指类) 如果一个模块需要修改,它肯定是有原因的,除此原因之外,如果遇到了其他情况,还需要对此模块做出修改的话,那么就说这个模块就兼具多个职责。举个栗子: 此时 阅读全文
摘要:
一、获取数据 想弄一个数据库,由于需要一些人名,所以就去百度一下,然后发现了360图书馆中有很多人名 然后就像去复制一下,发现复制不了,需要登陆 此时f12查看源码是可以复制的,不过就算可以复制想要插入数据也是很麻烦的。既然复制走不通,于是我抱着探索知识的精神,打开了Visual Studio 首先 阅读全文
摘要:
一、普通架构中存在的问题 StudentDB数据库,包含一张StudentInfoTB表,结构如下: 先来看一下普通的架构的问题所在: 调用关系: dal层代码只是通过SqlHelper简单的操作一下数据库,就不展示了。 StudentInfo的bll层代码,实例化了一个dal层对象,并且每个方法返 阅读全文
摘要:
一、为什么使用泛型? 泛型其实就是一个不确定的类型,可以用在类和方法上,泛型在声明期间没有明确的定义类型,编译完成之后会生成一个占位符,只有在调用者调用时,传入指定的类型,才会用确切的类型将占位符替换掉。 首先我们要明白,泛型是泛型,集合是集合,泛型集合就是带泛型的集合。下面我们来模仿这List集合 阅读全文
摘要:
1、为什么要用委托 我们为什么要有委托?任何东西存在即合理,不合理的也会被时间淘汰掉,委托既然存在肯定有存在的必要,我们来看一下什么时候可以用到委托。 接下来我们有个需求,就是调用一个方法,取出1-1000个数字中所有是10的倍数的数字 这个很好写,但是如果有一天,我们的需求变了,想取出1-1000 阅读全文
摘要:
首先我们来看一下如何创建Web Service 首先在解决方案中新建项,选择ASP.NETWeb应用程序 然后选择一个空的项目就可以,单击确定 项目建完之后,在项目上右键-->添加-->新建项,选择 Web服务(ASMX),添加 如果想要添加新的函数,必须在函数上方打上WebMethod标签 接下来 阅读全文
摘要:
原型模式就是用于创建重复的对象,当想要创建一个新的对象但是开销比较大或者想将对象的当前状态保存下来的时候,我们就可以使用原型模式。 创建原型 接下来创建一个Peron类,继承Base,并且实现两个复制方法 Main方法中调用,首先我们每次都创建新的Person对象 运行结果: 可见如果创建对象如果开 阅读全文
摘要:
多线程的操作在程序中也是比较常见的,比如开启一个线程执行一些比较耗时的操作(IO操作),而主线程继续执行当前操作,不会造成主线程阻塞。线程又分为前台线程和后台线程,区别是:整个程序必须要运行完前台线程才会退出,而后台线程会在程序退出的时候结束掉。Thread默认创建的是前台线程,而ThreadPoo 阅读全文