设计模式之漫谈
从今天(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点了,不能再熬夜了,写的有些粗糙,纯手写,望大家多多包涵,设计模式就是一种解决一类问题的思想,重在理解思想。
晚安
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?