组件,我的理解,就是一些可以重用的模块,它可能是代码,也可能是静态库或者动态库等等。因为我比较痴迷 C++,长时间的学习,醉心于各种小技法(曾经是这样的),我逐渐发现模板有一个重要的特性--解藕,这是我研读<产生式编程>的一点理悟,再加上<Modern C++>。于是,我便有了基于模块实现一些组件的想法。实现这些小组件,有一点小小的要求,简单,易用。
好了,下面我要为大家讲的是,我认为我最基础也是我最常用的代码 OwnerPolicy,后面我要展示的各种组件都或多或少的用到它,OwnerPolicy 是如此简单,以致于你敲完它可能用不了一分钟,但是它会省去你很多麻烦,以后你会看到的。
它能干什么?也许你满脸疑惑,那么请看下一篇<我的组件之线程类>。
好了,下面我要为大家讲的是,我认为我最基础也是我最常用的代码 OwnerPolicy,后面我要展示的各种组件都或多或少的用到它,OwnerPolicy 是如此简单,以致于你敲完它可能用不了一分钟,但是它会省去你很多麻烦,以后你会看到的。
// --------------------------------------------------------------
//
// Copyright (C) 2009 - All Rights Reserved.
//
// Author: LiuYin
// File: OwnerPolicy
// Version: 1.0
// Date: 2009-8-10
//
// Purpose:
//
// --------------------------------------------------------------
#ifndef OwnerPolicy_H
#define OwnerPolicy_H
//
template <class Owner>
class OwnerPolicy
{
public:
OwnerPolicy()
: owner_(0)
{
}
inline Owner * owner() const { return owner_; }
inline void owner(Owner *_owner) { owner_ = _owner; }
private:
Owner *owner_;
};
//
#endif
它能干什么?也许你满脸疑惑,那么请看下一篇<我的组件之线程类>。