(这不是界面:我只是省略了方法体)
class _ {
protected $_data = array();
function __construct($data);
function set($name, $value);
function get($name);
function __set($name, $value);
function __get($name); //aliases for their respective non-magic methods.
# and some other generic methods
}
本质上,它是一个为某些数据提供神奇的面向对象的可重用访问层的类。我考虑过DataLayer,DataObject和其他一些;我想听一些比较精通术语的人的建议。
答案 0 :(得分:6)
Dave
;)
说真的,DataAccess
答案 1 :(得分:2)
在不知道如何使用类以及它要包装的数据的情况下,很难命名它。 “用魔术OOP包装一些数据”是如此通用,以至于难以形成有意义的类名。
如果它位于控制器和数据库之间,您可以将其称为ActiveRecord。
如果真的只是为array()
提供一些OOP语法糖,你可以简单地使用内置的StdClass。
如果失败了,鉴于该类的唯一目的似乎是包装一个数组,我很想把它称为ArrayWrapper
。
答案 2 :(得分:1)
您可以将其称为AccessLayer
。
答案 3 :(得分:1)
它真的类似于KeyPairValue,如果你让它更专业地定义Get如何使用Hash()函数找到它的条目,那么它就是一个Hashtable。
现在的问题是为什么?大多数SDK会提供这样的数据结构吗?
尝试使用现有结构而不是重新发明它们。
答案 4 :(得分:1)
在Magento有一个类似的课程。嗯,它有更多的东西,但它的理念是相同的:通过继承为你的其他类添加一些神奇的方法。他们将其命名为Varien_Object,Varien是该公司的名称。
在我帮助构建的自定义框架中,我也有这样的东西。它叫做Base。
我想我想说的是......无论你怎么称呼它,它都不会帮助人们理解它的作用,直到他们完成代码。不要太担心,当你完成它时,它会被埋在你的应用程序中如此之深,以至于找到它的唯一的人将会是那种能够很快地完成它的工作的人