设计模式 例子

来源:互联网 发布:天天向上网络女神 编辑:程序博客网 时间:2024/06/14 10:05

debo的封装的设计模式:bool isCpriLinkDown(void)

(.h中只应该包含自己.cc中的函数,给其他函数include去用.其他的headfile直接在.cc中加,如果其他的headfile加到.h(点h)中,则别的文件include这个.h文件,则又等于include了其他的文件。

比如include /vob/.../ricr.h 则每个include 这个headfile的文件,都要include ricr.h,但是不是每一个都能找到。所以会出现error)


•cascadeHdlrs[CASCADE_HEALTH_CHECK_HDLR].pHdlr =new CascadeHealthCheckHdlr;
•cascadeHdlrs[CASCADE_FILE_HDLR].pHdlr =new CascadeFileMgr;
•  cascadeHdlrs[CASCADE_RESOURCE_HDLR].pHdlr = CscdResourceMgr::getInstance();
•private:  CscdResourceMgr(void);
•因为构造函数是private,所以不能new。只能在类内new 


/******************************************************************************
 *
 * Function : getInstance
 * Input parameters:
 *     void
 * Returns  : A new instance of cascadeMgr. This class is meant to behave as a singleton
 * Description : The accessor for the singleton instance of CscdResourceMgr.
 *
 *****************************************************************************/
CscdResourceMgr* CscdResourceMgr::getInstance(void)
{
  if (sInstance == NULL)
  {
    sInstance = new CscdResourceMgr();
  }

  return sInstance;
}


3 紧耦合与松耦合:
如CascadeMgr 没有一条message。
通过iterator it = mMapCascadeMotherSigHdlrs.find(ulSignalNo); 查找.
获得hdlrType,通过hdlrType获得pHdlr.通过pHdlr获得子类对象指针.
没有直接放DCM_RE_CARD_CTRL_LTE_REQ等signal .

0 0
原创粉丝点击