我正在浏览一个旧项目,想看看是否有人对如何隐藏某些方法不被各个层调用提出建议。这是一个 3 层项目,Web 应用程序 -> Web 服务 -> 数据库
例如,在应用程序中有一个用户对象。当一个用户被更新时,网络应用程序将创建一个用户对象并将其传递给网络服务。Web 服务将使用 DataAccessLayer 将用户对象保存到数据库中。看了这个之后,我想知道是否应该在 User 类中创建一个 Save 方法。这样,服务只需调用 User 对象上的 Save 即可触发数据库更新。
但是,这样做也会暴露要从 Web 应用程序调用的 Save,对吗?由于 web 应用程序也可以访问相同的用户对象。
无论如何,这是否存在,还是完全避免这种情况更好?