全部,
我正在开发一项功能,该功能将在执行操作时使用 ftp 将日志写入文件服务器。请注意,仅当配置了文件服务器时才会写入文件服务器。如果未配置服务器,操作将退出并返回状态。流程是这样的:
1.执行操作 2. 如果文件服务器已连接(检查 DB 和 ping),则写入日志 3.返回
现在我想知道是否有针对此相同功能的设计模式,但是该功能的范围会根据是否完成某些配置而有所不同。我非常感谢针对两种情况的帮助:
静态 - 如果数据库配置是在启动期间进行的一次 - 就像在启动后一样,系统可以根据从数据库读取的内容“假设”文件服务器是否存在
动态 - 当系统启动并运行时,我可能会启动文件服务器并配置数据库。理想情况下,系统应该检测文件服务器并开始向其写入日志,而不是被迫重新启动系统。
请求这方面的帮助。
谢谢
最佳答案
您的设计看起来违反了Single Responsibility Principle 。您遇到了两个不同的问题:第一个问题是操作本身,第二个问题是将日志发送到中央位置。
考虑将您的组件分成两个更简单、独立的组件。其中之一执行业务操作并写入日志(例如写入本地文件),仅此而已。另一个组件检查本地文件系统上是否存在新日志并将其复制到中央位置。
关于java - 相同功能的两种变体的设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41059059/