日期:2014-05-20  浏览次数:21123 次

关于一个简单的问题-设计
场景:相信去超市之类地儿买东西,商品价格是通过扫描仪去扫描商品上的条形码确定,结账软件自动完成这些工作。

条形码(组成):
 就是一些字符串,假如是10位数字的字符串,前5位表示商品的供应商的编号,后5位表示商品的编号,通过扫描仪去扫描条形码,软件就知道该商品的价格等信息。

打码机:
相当于打印机,把条形码打贴在商品上的设备。
打码流程:
商品在传送带上移动,当商品到第一个设备的地方,打码机就把条形码打印出来,当商品到第二个设计处打码机把条形码贴在商品上。而这两个动作是由事件触发的,并且顺序是固定的(先把条形码打出来,然后贴在商品上)。

打码机品牌:有日本的,德国的,国产的...

问题是:刚才条形码是10位,现在加8位数字表示时间,条形码就是18位数字了。两者调用的方法不一致,前者用pinted("PrintInfo"),后者调用方法pintedsuccess("PrintInfo"),而且打码流程的两个事件名是一样的,但是事件的逻辑处理是不同的,如某商品打印了多少,商品的明细... ;设计出”打码器“不论什么牌子机子,打什么条形码都行。
如何去设计这个printer?? 最好给出简明的思路,简单的代码



------解决方案--------------------
很简单 这个我做过 私下交流