Duy*_*ham 5 coding-style business-logic clean-architecture
也许在应用程序中,我有一个功能允许用户使用带有一些验证逻辑的表单发送反馈:
您会将这些验证逻辑放在何处,domain layer作为业务逻辑还是presentation layer作为 UI 逻辑?
这些逻辑适用于所有应用程序(android、iOS、web)。请注意,我们已经进行了服务器端验证。
Jem*_*rov 23
我认为许多开发人员在Presentation层中这样做,特别是在ViewModel/Presenter/Controller(不是in Activity/Fragment/View!) 中。我的方法是将该逻辑放在Domain层中。为什么?
ValidationException并说明。ValidationException将包含的名单无效的参数,验证的类型,他们失败了(的minLength,最大长度,emailPatternMismatch等),预计什么(在最高等20个字符)。ViewModel/Presenter/Controller得到这个ValidationException,这里我们有演示逻辑。现在它决定渲染什么,如何渲染. 我们是呈现所有无效输入的错误还是仅呈现第一个无效输入的错误?应该显示什么文本/颜色(基于 ValidationException 中的数据)?我们是否将错误呈现为 popup/textView/tooltip?在做出所有演示决定并创建新模型之后,View就可以了!使用该模型进行渲染。fun validate():ValidationOutcome功能。我不认为将业务模型的验证逻辑放在自己身上是问题。所有用例只会调用model.validate()。Model 和 ValidationOutcome 之间存在依赖关系。| 归档时间: |
|
| 查看次数: |
5179 次 |
| 最近记录: |