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

一些设计上的问题

时间:2016-12-31 00:35:08      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:风格   方法   数组   class   类型   object   rgs   个数   ini   

最近在写Richman4L,有的时候就遇到一些问题。

在游戏中有一些卡片,比如红卡和黑卡,以及陷害卡之类的。

于是有一个基类,叫做Card。

所有的卡片都能够被使用,于是Card应该有一个Use的抽象方法。

然而在使用的时候,有的卡片希望一些参数,比如红卡黑卡希望一个股票,陷害卡希望一个玩家之类的参数。

参数的类型不一样,数目也不一样。

应该提供一个方便的办法让调用者得知这个方法希望什么参数,也能方便的调用。

我想到了反射的那一套方法的参数,是一个数组。

于是我也制造了一个ArgumentsContainer。

它象是这样。

 

public sealed class ArgumentsContainer

{

    public List <object> Arguments { get ; }

    public ArgumentsContainer ( params object [ ] args ) { Arguments = new List <object> ( args ) ; }

}

 

它作为Use方法的参数。

对于如何得知这个参数,我觉得这需要另外的操作。

于是有一个Arguments的属性,返回一个CommandArgumentInfo的数组。

CommandArgumentInfo包含该有的参数的介绍和要求。

然后又想到Paradox家游戏的那种风格。

于是又搞了一个ArgumentDefineDomain。

我还没有想出更好的主意,暂时就这样吧。

 

希望你的更好的建议。

 

代码在Github:https://github.com/Infinicken/Richman4L

 

一些设计上的问题

标签:风格   方法   数组   class   类型   object   rgs   个数   ini   

原文地址:http://www.cnblogs.com/Wencey/p/6238529.html

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