我正在构建一个监视文件夹和传输文件(带附件的数据)的窗口服务,如dropBox
我想用N层设计来构建它
*设计DATA层以将数据推送到BLL是否可以?
*数据层是否有一些逻辑与filesystemWatcher监视文件夹获取创建的文件并将其传递给BL,是不是BLL调用数据层而不是相反?
答案 0 :(得分:1)
通常,数据访问/存储库层抽象对底层数据源的访问。它应尽可能薄,最好限于处理与数据持久性相关的任何内容。从你所描述的内容来看,这听起来并不像你有任何一样。
相反,我会构建一系列服务类(不要与Windows服务混淆),这些服务类负责处理与您尝试执行的文件系统监视相关的不同类型的业务逻辑。您可以拥有一个监视文件夹的服务和另一个负责传输文件的服务。然后,您可以在负责协调不同操作的服务类之上构建一个层。
这有意义吗?
答案 1 :(得分:0)
DAL用于保持您的应用程序状态。它解决了内存不可靠性等技术问题。
文件系统是外部系统,您不能认为它属于您的应用程序。你不能接受它的状态,并说它只属于你。
这就是为什么,你与它沟通,并提出你需要的任何东西。当有趣的事情发生时,您可以要求它通知您(FileSystemWatcher
)。然后你可以采取相应行动(转移文件)。
因此,监控文件绝对不是DAL的责任。它可能是一些监视文件系统的守护进程,然后将工作传递给'BL'。