接着上一篇文章,现在我们想扩展加进去一些功能,首先感觉到在什么地方让用户参与进去比较合适。常见的方式是增加按钮,包括右键快捷菜单的按钮。那我们就用最常规的在工具栏上去增加一些功能按钮。当然,最理想的方式是根据不同的界面在工具栏通用按钮后面按预先设想的呈现功能点所需要的按钮,并可通过数据库的表去自定义增加修改相应配置按钮最好了。因为能一次编码,后面根据业务需求去配置功能点,即保证了软件的灵活性,又避免了硬编码的局限性。我们分两步走,先用代码去实现基本功能,并从中可掌握去控制界面中任何一个区域的显示和功能的通用做法。
数据的流向和传递方式是合理规划类和功能的关键
以店铺管理界在为例,它的功能点按钮要在使用这个子功能的时候才知道具体有那些操作或业务方式,但很明细,它不能直接去控制工具栏,因为它没有工具栏的引用。这时我们就想到从主界面把工具栏传递过来进行操作处理不就可以了吗?理论上当然可以,但通常的做法时,我们传递整个工程对象所需要的按设计之初考虑的所有对象封装到一个对象里面进行传递,当然,里面自然包括了工具栏,在店铺管理类中以一个属性存在,当然还有它自己的set和get方法,代码如下:
/**
* 软件主界面控制器
*/