本人在写一套管理系统,用了TimgEditingBox组件,该组件内嵌了一个Button,我也在该组件上加了一个key属性。分别用text和key属性表示供就商,客户,经手人等名称各代码。在写窗体代码过程中,由于各窗体几乎都会用到客户、供应商、经手人等元素。 现在对于该组件的每个组件的实例,都要编写其事件代码:OnButtonClick、OnChange、OnExit等查找数据库或校验输入准确性。实在是重复的劳动。 请问大侠:是否可以考虑创建一个派生组件与实际的数据库对象关联起来???但与数据库对象关联起来则该派生组件将缺乏通用性,并受数据库限制。
请问应该如何设计以减小重复劳动?
请问应该如何设计以减小重复劳动?
Don't do that!
It should be:
Define a business upper class(Inherited from TForm), it includes your controls,
then others form should be inherited from the upper class.
你的意思是否把表示供应商、客户、经手人、经手人部门等组件放在parent_Form上,然后从该窗体中继承下来?但各窗体之间组件布局总是有区别了,有些窗体有供应商、经手人,有些窗体有客户、经手人 、经手人部门等。这样子窗体就多了一些多余的组件了。。
An example for the class diagram:
TFormBill
| |
TFormBillPurchase TFormBillPurchaseSale
......
最好是中文的?
TFormBill
| |
TFormBillPurchase{Purchase Form} TFormBillSale{Sale Form}
......