我有一个设计问题。当编写一个应用程序时,其中有几个组件共享某些属性,而其他组件在 GUI(Windows 窗体)和后端方面都不同,理论上如何解决这个问题?
例如,我有一个应用程序,其中有 4 种不同类型的产品。输入产品详细信息的表格都共享 3 个不同的字段。到目前为止,很容易 - 有一个基类,然后从这个基类派生 4 种形式。但是,比如说,2 种产品共享某种行为,这对它们来说都是相同的。当然,我可以有一个定义方法的接口,然后让这2个产品入口表单实现这个接口,但是由于接口没有提供默认实现,这样做岂不是很浪费?因为我必须在每个类中提供一个实现,如果它完全相同,那就是代码重复。
我当然可以将此方法放在基类中,并从中派生出 2 种形式。如果我的表单共享多个共同元素而不共享其他元素,那么在不必扯掉我的头发的情况下,最理智、最合乎逻辑的方式是什么?