读书笔记1:简单工厂模式
来源:互联网 发布:淘宝网商贷款 编辑:程序博客网 时间:2024/06/15 02:35
工厂模式,这几乎是最常见的了,当年在学校的时候,老师讲了n多设计模式,只有这个至今还能想起来的。工作中我用过两个地方,一是数据库的连接,二是和书上的收银台的例子一样的那种。
1、连接数据库,以access为例。这种最常见所以记得很清。
public class DAOFactory { static OleDbConnection conn; private DAOFactory() { } public static OleDbConnection DAOFactoryConnection(string dbPath,string dbPassword) { try { string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};" + "Persist Security Info=True;Jet OLEDB:Database Password={1}"; connStr = string.Format(connStr, filePath, pasword); conn = new OleDbConnection(connStr); } catch (Exception e) { throw (e); } return conn; } public static void ConnClose() { if (conn != null) conn.Close(); } public static void ConnOoen() { if (conn != null) conn.Open(); } }
其他一种,以前我的项目中有一个关于抓取网页的,当然不是全部抓取,只是提取指定的一些网页的内容的,类似于小说下载阅读器的那种提取小说的。是这样实现的:
工厂类PageFactory:
Public clas PageFactory{ PageClass pclass; Public static PageClass CreateFactory(string type) { Switch(type) Case “网页类型一”: Pclass = new PageClass1(); Break; Case “网页类型二”: Pclass = new PageClass2(); Break… Default: Break; }}
网页类型父类:PageClass
Public class PageClass{ Public abstract 返回类型 GetPageInfo() { Return 返回类型; }}
网页类型一的提取类:PageClass1
Public class PageClass1: PageClass{ Public override 返回类型 GetPageInfo() { 算法1; Return 返回类型; }}
网页类型二的提取类:PageClass2
Public class PageClass2: PageClass{ Public override 返回类型 GetPageInfo() { 算法2; Return 返回类型; }}
等等
调用:
Main{ PageClass pclass= PageFactory. CreateFactory(type); 返回结果= PageClass. GetPageInfo();}
使用工厂模式就实现了该功能,并且随着类型的不同可以很好的扩展。
- 读书笔记1:简单工厂模式
- 读书笔记1:简单工厂模式
- 大话设计模式读书笔记1 简单工厂模式
- 读书笔记系列1:大话设计模式 -- 简单工厂模式
- 《大话设计模式》读书笔记1 简单工厂模式
- 设计模式读书笔记-----简单工厂模式
- 设计模式读书笔记-----简单工厂模式
- 《大话设计模式》读书笔记--简单工厂模式
- 设计模式读书笔记-----简单工厂模式
- 设计模式读书笔记-----简单工厂模式
- 设计模式读书笔记---java简单工厂模式
- (转)设计模式读书笔记-----简单工厂模式
- 设计模式读书笔记-----简单工厂模式
- 设计模式读书笔记-----简单工厂模式
- 读书笔记之工厂方法模式以及简单工厂模式
- 简单工厂模式(head first读书笔记)
- 大话设计模式读书笔记之简单工厂
- 1,工厂模式--简单工厂
- 用Java实现多线程服务器程序
- Fedora Linux 16 正式版已可下载
- JSP 标准标签库 1
- 人生是什么?——感悟2:绝望时候要相信自己
- 浅析Java抽象类和接口的比较
- 读书笔记1:简单工厂模式
- 用Powershell调用DLL文件
- asp.net 程序自动提交登陆表单并保持Session及Cookie
- 输入jsp 文字在eclipse 中出现java.lang.stackoverflowerror
- 使用 C 突破 VB6 的字符串长度限制
- C# 过滤sql特殊字符串方法
- linq to xml简介
- 通过 LINQ to XML 使用字典
- GDB调试精粹及使用实例