说明(2018-4-3 20:25:16):
1. 数据结构看到了树,好像后面的都是伪代码了,感觉暂时用不上。另外还有一个队列的实现没有敲代码,不过目前已经对指针有了一个深刻的了解了。准备先放一放数据结构,开始C#的继续深入。
2. 其实一开始看数据结构,是因为asp.net后面讲线程用到了委托,理解很困难,于是去看三层,结果又用到事件,更是稀里糊涂,后来去看基础班的委托与事件,虽然讲了一大堆,还是模模糊糊,不知道怎么实际利用,心里很排斥。
3. 所以一直挖底层到C语言的指针,因为教程里总是有意无意的提到,委托是一种类型安全的指针。所以对委托有困惑的,建议学习一下数据结构,比从网上找的各种举例子要深刻的多。
4. 下午想复习一下网页的用户列表,发现电脑没有sqlserver,于是准备装个简装版,用SQLManagementStudio安装完,死活本地登录不了,sql服务里连个选项都没有,折腾了俩小时,最后放弃,从以前的电脑里考过来一个4GB的sqlserver2008R2,安装了一个小时后终于能够登录了,还是原版靠谱啊!不过为毛VS和sqlserver都这么大啊,VS2013有6个G,sqlserver2008有4.5个G,里面都装了什么好东西哇?
5. 安装的这段时间里,无聊看了一会赵建宇讲的简单工厂设计模式,他的另外一期里的两个设计模式视频都只有声音,屏幕不动,只能先看这个了。
6. 这个模式的核心就是需要一个抽象父类,产品的类纷纷去实现它,然后用一个算是工厂的函数,输入参数,把产品子类赋值给了抽象父类(用到了里氏转换)。
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace _00练习 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 string brand = Console.ReadLine(); 14 Computer c = Test(brand); 15 c.SayHello(); 16 Console.ReadKey(); 17 } 18 static Computer Test(string brand) 19 { 20 Computer c = null; 21 switch (brand) 22 { 23 case "Lenovo": 24 c = new Lenovo(); 25 break; 26 case "Dell": 27 c = new Dell(); 28 break; 29 case "IBM": 30 c = new IBM(); 31 break; 32 } 33 return c; 34 } 35 36 } 37 38 abstract class Computer 39 { 40 public abstract void SayHello(); 41 } 42 43 44 class Lenovo : Computer 45 { 46 public override void SayHello() 47 { 48 Console.WriteLine("我是联想"); 49 } 50 } 51 class Dell : Computer 52 { 53 public override void SayHello() 54 { 55 Console.WriteLine("我是戴尔"); 56 } 57 } 58 class IBM : Computer 59 { 60 public override void SayHello() 61 { 62 Console.WriteLine("我是IBM"); 63 } 64 } 65 }