从今天 (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 点了, 不能再熬夜了, 写的有些粗糙, 纯手写, 望大家多多包涵, 设计模式就是一种解决一类问题的思想, 重在理解思想
晚安
来源: https://www.cnblogs.com/wang-charle/p/8620475.html