作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在编写一个模拟器,作为开始学习 Java 和面向对象分析与设计 (OOA&D) 的第一个雄心勃勃的项目。模拟器将比较不同的方法来管理供应链中的库存(如果业务部分需要更多详细信息,请告诉我)。
我很难为我的类(class)进行解耦设计。虽然完整版模拟器有更多类,但我遇到问题的类是:
所以我的问题是:考虑到我面临的业务逻辑耦合,这真的是一种很好的解耦吗?我可以应用任何其他策略(哪些?)来帮助我设计一个更健壮和灵活的模拟器吗?
最佳答案
ProductData 映射中的每个条目都应该是 ProductDataEntry 类的成员(除非它们包含的数据差异很大)。
听起来 RawResults 可能会扩展 ProductDataEntry,因为它将具有相同的字段。
总体而言,您的设计听起来还不错 - 但是,如果不查看实际对象和整体架构,就无法多说,这里不适合(而且我没有时间)。
老实说,在你编程生涯的这个阶段(甚至以后),你不应该害怕尝试一些东西,如果它们不起作用就把它们扔掉。与其花 3 天时间尝试决定要做什么,不如花 1 天时间在 3 个原型(prototype)中的每一个上尝试不同的方法,然后在最后看看你从原型(prototype)中学到了什么以及你喜欢什么和不喜欢什么。
请注意,虽然尽可能多地解耦是一个很好的目标,但有时问题的本质是紧密耦合的。当这种情况发生时,不要扭曲整个架构来对抗它 - 只要确保它们确实确实需要尽可能紧密地耦合。
关于java - 在非常耦合的业务逻辑中解耦 Java 中的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33653289/
我是一名优秀的程序员,十分优秀!