在Java中,我有一个外部设备,我想通过串行I/O进行通信,我知道如何做到这一点,但我现在处于重构模式,以确保我已经有了一个可维护的软件包,并且正在寻找关于在高级别上应该做什么或不做什么的建议(下面的具体问题)。
概念上,假设我有一个低级别的DeviceIOChannel接口,它有几种方法(getInputStream、getOutputStream和其他一些方法,用于控制连接/断开连接检测等),由一个或多个类实现,这些类处理各种数据链路类型(RS232、TCPIP等)的I/O。我的一些软件(让我们称之为Device类)致力于管理I/O (解析输入、构造输出、管理低级状态机),但不知道DeviceIOChannel是如何工作的(这样我就可以在RS232或TCPIP中使用它,而不必更改Device类)。因此,我可能会将DeviceIOChannel作为参数传递给Device的构造函数,我还想向外界公开某种数据模型。
DeviceIOChannel / Device声音的分区,Thread或ScheduledExecutorService吗?或者我是否应该将ScheduledExecutorService作为一种构造性的ScheduledExecutorService思想传递(链接到网络上的好文章将是理想的!)关于Device类是否应该有与构造不同的startup()方法的问题?(在构造中做所有的初始化工作让我感到紧张.似乎类实例的构造应该是快速的,然后应该为稍后到来的init或启动阶段保留冗长的内容。)Device类,而不是需要创建一个新的Device实例的关闭+呢? MVC体系结构中的Device实现的DeviceDataModel接口是否有意义,还是应该有一个与Device类有双向通信的单独类DeviceDataModel?H 230G 231发布于 2010-01-28 18:33:26
一个点回答你的问题。
是的,这听起来确实是reasonable.
不是DeviceDataModel
https://stackoverflow.com/questions/2156783
复制相似问题