博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
读书笔记1:简单工厂模式
阅读量:7209 次
发布时间:2019-06-29

本文共 2038 字,大约阅读时间需要 6 分钟。

     工厂模式,这几乎是最常见的了,当年在学校的时候,老师讲了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();  }

使用工厂模式就实现了该功能,并且随着类型的不同可以很好的扩展。

转载地址:http://graum.baihongyu.com/

你可能感兴趣的文章
Mongodb学习笔记
查看>>
作业一
查看>>
Oracle 通过数据字典查询系统信息
查看>>
Cnetos 6 / Centos 7 修改主机名
查看>>
UIWebView
查看>>
UIViewController函数调用顺序
查看>>
第三方框架的使用
查看>>
配置Eclipse支持MacBook Pro Retina屏幕的办法(解决Retina屏幕下eclipse字体变虚的问题)...
查看>>
python导包路径的修改
查看>>
C语言第十一次作业--函数嵌套调用
查看>>
hdu 1728 逃离迷宫 *
查看>>
将Word文档转化为HTML格式的文档
查看>>
WCF
查看>>
IDE安装Lombok插件提高开发效率
查看>>
转://使用showplan.sql分析sql Performance
查看>>
第七课:增量分析
查看>>
【总结整理】JQuery基础学习---动画
查看>>
A. Round House_数学问题
查看>>
LeetCode OJ:Remove Nth Node From End of List(倒序移除List中的元素)
查看>>
0920编译原理词法分析
查看>>