Factory--------创建型设计模式之二

原创 2004年07月08日 11:26:00

创建型模式由一个对象的接口和一个具体的类组成,该控制类决定在运行的时候该创建那个具体的对象,该模式在应用程序的日志处理中非常有用,比如在写日志的是采用写到文件中还是数据库中.

class Logger
{
 virtual void LogError() = 0;
 virtual void LogError(CString strErr) = 0;
};
class DBLogger:public Logger
{
public :
  void LogError()
  {
   //do here log
  }
  void LogError(CString strErr)
  {
   //do here log
  }
};
class FileLogger:public Logger
{
public:
 void LogError()
 {
  //do log here
 }
 void LogError(CString strErr)
 {
  //do log here
 }
};
class LogFactory
{
 private:
  LogFactory()
  {}
 public :
  static Logger* GetLogger(int itype)
  {
   if(itype == 1)
    return new DBLogger();
   else
    return new FileLogger();
  }
};
class Log
{
public:
 Log()
 {
  pLog = NULL;
  iType = 1;
 }
 void SetType(int itype)
 {
  if(itype == iType)
   return;
  pLog = LogFactory::GetLogger (itype);
  iType = itype;
 }
 void LogError()
 {
  pLog->LogError();
 }
 void LogError(CString strError)
 {
  pLog->LogError(strError);
 }
private:
 Logger* pLog;
 int iType;
};

六种创建型设计模式的比较和总结

一、描述 创建型设计模式包括如下几个:简单工厂模式(Simple Factory)、工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)、创建者模式(Bui...
  • tongyuehong
  • tongyuehong
  • 2015年05月02日 15:46
  • 1408

设计模式--六种创建型模式

前言   每几种模式之间都有一定的联系,从中发现它们的相同点和不同点,研究发生改变的节点,这就是本篇博客所要说明的创建型设计模式之间的联系。它们包括:简单工厂模式、单例模式、工厂方法模式、抽象工厂...
  • m18633778874
  • m18633778874
  • 2017年04月13日 16:58
  • 305

设计模式(创建型)之单例模式(Singleton Pattern)

单例模式可能是23种设计模式中最简单的。应用也非常广泛,譬如Android中的数据库访问等操作都可以运用单例模式。核心概念: 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称...
  • yanbober
  • yanbober
  • 2015年04月27日 16:50
  • 2572

设计模式分类(创建型模式、结构型模式、行为模式)

1.创建型模式 前面讲过,社会化的分工越来越细,自然在软件设计方面也是如此,因此对象的创建和对象的使用分开也就成为了必然趋势。因为对象的创建会消耗掉系统的很多资源,所以单独对对象的创建进行研究,从而能...
  • itpinpai
  • itpinpai
  • 2016年04月25日 18:51
  • 7731

GOF设计模式笔记之创建型模式

这里是篇关于gof设计模式的笔记,记录了五种创建模型的基本特点,这是篇笔记,大家慎重进入...
  • qq_28282317
  • qq_28282317
  • 2016年04月18日 22:03
  • 405

跟着实例学习设计模式(6)-生成器模式builder(创建型)

生成器模式是创建型设计模式。 设计意图:将一个复杂的类表示与其构造相分离,使得相同的构建过程能够得出不同的表示。 实例类图: IVehicleBuilder:抽象建造者,为创建一个Vehicle对...
  • andy_gx
  • andy_gx
  • 2015年07月12日 20:56
  • 807

设计模式(创建型)

一:创建型设计模式整体总结图     二:具体设计模式   1,工厂方法模型   1)定义:       定义一个用于创建对象的接口,让子类去决定实例化哪个类 2)优点:   ...
  • lishuangzhe7047
  • lishuangzhe7047
  • 2013年02月01日 18:56
  • 3269

创建模式、结构模式、行为模式的区别

创建模式 创建型模式,就是创建对象的模式,抽象了实例化的过程。  它帮助一个系统独立于如何创建、组合和表示它的那些对象。  关注的是对象的创建,创建型模式将创建对象的过程进行了抽象,也可...
  • AlbertFly
  • AlbertFly
  • 2016年08月22日 16:37
  • 1039

java语言实现创建型设计模式—原型模式(Prototype)

一、描述 原型模式是通过一个原型对象来标明要创建的对象的类型,然后用复制这个原型对象的方法来拷贝创建更多的同类型对象。例如我们在程序的动态运行过程中有了一个对象,这个对象中包含了一系列的有效数据,我们...
  • tongyuehong
  • tongyuehong
  • 2015年05月01日 22:24
  • 964

设计模式之行为型模式(11种)

行为型模式 第一类:通过父类与子类的关系进行实现。第二类:两个类之间。第三类:类的状态。第四类:通过中间类 责任链模式 责任链模式说的通俗一点就是,当客户提交一个请求时,从第一个对象开始,链中收到请...
  • u012152619
  • u012152619
  • 2014年11月07日 12:04
  • 1721
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Factory--------创建型设计模式之二
举报原因:
原因补充:

(最多只允许输入30个字)