从今天(2018-03-21)开始,我将浅谈下设计模式,这个话题肯定很多人谈过。由于我知识广度和深度均有不足,如有不合理的地方请多多包涵。在此只希望能帮助更多同行的小白,借此本人感觉很慰藉。当谈完设计模式后,我将开源一个完全自己写的DAL层,包括orm,连接池,线程,事务,MSIL,设计思路等。闲话少说,先说设计模式。
第一谈:简单工厂模式
1.创建一个对象的方法
对象就是占空间的东西,从哲学的角度考虑,在空间上存在的东西就是对象。
把空间比成内存。孤零零的对象没有研究价值,在托管代码中,孤魂野鬼的对象早晚被GC回收。像行尸走肉的人,孤魂野鬼的人,活着其实已经死了。所以对象需要被引用,正如人需要信仰。
创建一个对象,可以直接new(通过构造函数直接“构造”),也可以有一个专一东西的专门创建。
比如我需要一个笔记本,一种办法,我先买笔记本的各个零件,然后自己组装。另一种办法,我向一个工厂订一台笔记本,有工厂代生产。
1.机械师笔记本 M411=new 机械师笔记本(零件1,零件2,。。。);
2. public class 笔记本
{
public CPU
{
get;set;
}
public RAM
{
get;set;
}
public virtual void 组装()
{
}
}
public class 联想笔记本:笔记本
{
public override void 组装()
{
}
}
public class 机械师笔记本:笔记本
{
public override void 组装()
{
}
}
public class XXX工厂
{
public static 笔记本 获取笔记本(string name)
{
private 笔记本 本本=null;
switch(name)
{
case "联想笔记本":
本本=new 联想笔记本();
本本.组装();
return 本本;
...
}
}
}
//想要联想笔记本
笔记本 本本=XXX工厂.获取笔记本("联想笔记本");
这样创建一个对象,可以通过工厂集中来管理。
过了12点了,不能再熬夜了,写的有些粗糙,纯手写,望大家多多包涵,设计模式就是一种解决一类问题的思想,重在理解思想。
晚安