码迷,mamicode.com
首页 > 其他好文 > 详细

咸蛋系列一●《模板模式构建随机对象生成》2 构思

时间:2015-06-10 00:57:22      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

随机对象生成可以说是随机数生成的一个延伸,在实际使用中,我们可能要生成的不是一个简简单单的数字,而是像数字、大小写字符、中文汉字、算数表达式等。

由于其实现相对简单,取各种随机对象的源码网上也比比皆是,因而貌似也没人做一个通用的、可扩展的随机对象生成。

博主要不是因为闲得蛋疼也是不会想到做这个东西的,好了,言归正传。分析随机对象生成,其要点无外乎三点:

1. 设置随机对象集;

2. 获取一个或多个随机对象;

3. 获取一个或多个不重复随机对象;

在这三点中,后两者算法皆固定,仅设置对象集不同,故而完全可以使用模板模式。

就第一点而言,设置随机对象集,我们一般的想法是创建一个集合(数组、List。。)保存所有对象。但我并为采用该方法。具体原因如下:

1. 元素个数可能非常;

2. 元素的获取可能是通过一个算法动态获取,执行之前并不知道具体有哪些元素,或者不想枚举;

3. 设置一个集合,这是已经是一个具体的实现了,模板并不需要知道这些,模板只需要定义一个方法--通过一个索引去获取对应的元素。像下面的代码一样:

/// <summary>
/// 根据实际索引获取对象
/// </summary>
/// <param name="realIndex"></param>
/// <returns></returns>
protected abstract T ElementAt(int realIndex);

 

咸蛋系列一●《模板模式构建随机对象生成》2 构思

标签:

原文地址:http://www.cnblogs.com/Pupa/p/4564908.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!