我有一个流程图,我正在实施,它有4或5个路径通过它取决于用户输入和一些处理的结果。当然,我不想在Windows窗体中使用所有这些逻辑,我只是想在表单中调用类的方法。让我的业务逻辑类引用System.Windows.Forms并显示对话框和MessageBoxes以获取它需要处理并返回结果的输入,这是不好的设计吗?让业务逻辑对象提示用户输入是不是很糟糕的设计?
1
A
回答
4
是的,这是糟糕的设计。你的班级应该提供一种与表单沟通的意思,并获取数据。只需创建事件并让Form
订阅它们,获取信息以从定制的EventArgs
类创建对话框。获得输入后,只需通过第二个事件将相同的类与附加信息一起推回。
这应该类似于MVP模式。
3
是的,这是一个坏主意。您非常有效地将您的业务逻辑与演示文稿紧密结合。在其他情况下,您(可能不会)轻松地重新使用业务逻辑,并且您将无法在不触及业务逻辑的情况下替换UI。
您需要让UI和业务逻辑层进行通信,并让UI层处理UI。
0
我认为这是糟糕的设计。当你分离你的应用程序的组件时,一条经验法则是让它们保持分离,以便你可以在不同的计算机上运行它们。
0
是的。因为这意味着你的商业对象根本就不是一个商业对象。
使用MVVM模式并将逻辑放入视图模型中。
0
这是糟糕的设计,因为您可能需要在具有不同UI或根本没有UI(如在服务器或批处理过程)的情况下运行业务逻辑。这就是业务逻辑和用户界面的分离。如果可能的话,在把事情交给业务逻辑之前,最好先在UI类中获得所有必要的用户输入。但是,如果需要业务逻辑提示以获取更多信息,那么业务逻辑API采用回调方法委托最好,它可以调用以请求进一步的输入。然后UI层可以决定如何最好地从用户请求。
相关问题
- 1. 改变jButtons的功能是不是很糟糕的设计?
- 2. 公有变量是不是很糟糕?
- 3. AlarmManager和BroadcastReceiver而不是服务 - 是不是很糟糕? (超时)
- 4. 业务逻辑不是在表示层
- 5. 业务逻辑层设计
- 6. 业务逻辑设计
- 7. 这是一个糟糕的设计? UITabBarController
- 8. 访问存储库中的UnitOfWork是不是很糟糕的设计?
- 9. 接受HTML代码的HTML文本输入真的很糟糕,还是很糟糕?
- 10. 该代码是业务逻辑还是表示逻辑?
- 11. 在查询中使用$ _SESSION ['id']是不是很糟糕?
- 12. 在前端解析HTML是不是很糟糕的形式?
- 13. PARTITION RANGE ALL在你的解释计划中是不是很糟糕?
- 14. 是EAV - Hybrid是一个糟糕的数据库设计选择
- 15. 在init中向self()发送消息是不是很糟糕?
- 16. setInterval一直在运行是不是很糟糕?
- 17. 在 - (void)dealloc中同步NSUserDefaults是不是很糟糕?
- 18. 在编写索引时重启MySQL是不是很糟糕?
- 19. 检查每个asp.net请求的Properties.Settings设置是否很糟糕?
- 20. 用两种方法创建一个小类只用于继承是不是很糟糕的设计?
- 21. 在事务表中复制数据是否是一种糟糕的设计?
- 22. 在MVC中使用会话对象,它真的很糟糕吗?
- 23. 设置默认值 - 表示逻辑或业务逻辑?
- 24. 业务对象设计
- 25. 业务对象DAL设计
- 26. 业务逻辑
- 27. 设计模式的混合是一个糟糕的实践吗?
- 28. 在数据库和URL中使用冒号是不是很糟糕的形式?
- 29. 业务对象和业务逻辑有什么区别
- 30. C#业务逻辑,业务对象,数据访问,项目
MVP模式我相信,不是吗? – nick 2011-01-10 21:59:52
这是我第一次做什么的倾向。我想我只是在寻找某人来验证它。谢谢。 – Keith 2011-01-10 23:22:53