|
|
1
7
这就是你的问题所在。这是一种根本上有缺陷的发展方法,正是它导致了这种瘫痪。发展若干
混凝土
首先实现风格。让他们使用Kludgy在应用程序中工作
更多详情请参见评论: 如果您在实现之间共享了代码,那么应该使用抽象类。根据我的经验,最好的做法是保持公共方法的最终性,并从公共方法中调用受保护的抽象方法,例如:
使每个类独立。它应该是单实例、单线程的,并且可以在工人和记者之间传递。 |
|
|
2
1
至于您究竟需要哪种接口,这最终取决于您和任何知道此应用程序如何在如此低的级别上工作的人。我想回答关于在UI中使用您的实现的部分,以及关于使用后台工作人员进行通信的注释。我建议你把它倒过来。BackgroundWorker实际上是一个UI级组件……但是comm更像是一个“中心”组件(就像企业应用程序中的业务对象)。您的UI应该创建一个backgroundworker,然后创建comm实例来执行所需的工作,并协调comm中的任何事件来更新UI。如果您需要UI和BackgroundWorker在较长的时间内进行通信,我建议您创建某种数据传输对象,您的UI可以创建、放入队列,并使用ManualReseteEvent或AutoResetEvent线程句柄在UI线程和BackgroundWorker之间进行通信。这将为您提供一个更松散耦合的产品,允许您独立地开发可能显示它的任何类型的UI(可能允许您拥有windforms、wpf、命令行,甚至PowerShell客户机)。 |
|
|
3
1
我现在有点像vb.net模式,所以这里……
然后只需实现接口并在需要时继承基。我也同意Rex M的观点。不要把它推得太远而导致松耦合。 |
|
|
simply lemon · python上链表的添加方法 1 年前 |
|
|
Anonymous · 为什么在这个例子中self和类名的用法不同? 1 年前 |
|
|
P N Singh · 在CPP Oops中调用对象而不创建它 1 年前 |
|
|
Muthuraj · 如何创建一个通用工厂来创建某种类型的实例[重复] 2 年前 |
|
|
Andy Votava · 从父类定义调用学生方法 2 年前 |