咸蛋系列一●《模板模式构建随机对象生成》3 定义接口及模板

经过前面的分析,随机对象生成只是需要三个方法:

方法1. 通过索引元素(由子类实现),可以理解为将一个数字转换为一个具体的对象;

方法2. 获取一个随机对象的方法(模板提供)。

方法3. 获取多个随机对象的方法,可设置这些对象是否允许重复(模板提供)。

为了高度可扩展性,让随机对象可满足数字、字母、汉字,甚至是用户自定义的内容(如成语、算式),故而再次抽象出来,成为一个“随机对象提供者” IProvider。

另外,多个“随机数提供者” IProvider或许可以构建出一个全新的提供者,例如:常用字 + 生僻字可以构建一个中文;两个数字 + 一个运算符可构建一个表达式等,故而再提供一个“随机数提供者集合”,同时它仍然必须是一个提供者。

最终设计如下:

1. IProvider,随机数提供者接口。

2. BaseProvider,随机数提供者模板。继承自IProvider。

3. BaseProviderCollection,随机数提供者集合模板。继承自IProvider。

4. BaseRandom,随机对象获取模板(产生一个或多个随机对象)。

具体代码,请从https://APirate@bitbucket.org/APirate/lib.pirate.unit.randomextension.git获取后查看。

posted @ 2015-06-10 00:14  模拟人生  阅读(193)  评论(0编辑  收藏  举报