我开始设计一个管理软件,应该具有以下功能:
我想到的系统设计,为了尽可能保持对 3 种可能场景的“透明”方法,是使用 RESTful API 服务作为“后端”,其业务逻辑允许对驻留在其中的数据进行 CRUD 操作一个数据库和一个或多个使用这些 API 的客户端。
这样,在第一个场景中,所有内容(DB、RESTful Server 和客户端)都将在同一台 PC 上运行。在第二种情况下,本地网络上的一台 PC 将成为运行 DB 和 RESTful 服务器的“服务器”,而其他 PC 则仅运行客户端。在第三种情况下,整个后端可以转移到 Azure 或 AWS 等云服务,并且各种客户端将通过互联网访问它。当然,对于场景 1 和场景 2,可能有更有效的方法,但假设我不想改变所有三种场景中的数据交换方法,就没有想到其他设计。
从技术上来说,我对使用 .NET 技术感到很舒服。
客户端可能有不同的任务并且需要在不同的平台上运行,因此我假设根据它们需要执行的任务和它们需要运行的平台有不同类型的客户端的可能性。例如,商店的前端可以使用在 PC 上运行的 WPF 应用程序进行开发,以便轻松访问条形码读取器或 POS 打印机等本地外围设备、用于访问统计数据或管理配置的 Web 应用程序以及移动应用程序(本机或多平台)用于在旅途中访问数据。
您还有其他想法或建议吗?