- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有字段的对象。在一个项目中,我需要这个充满信息的对象。
谁负责填充这个对象?
我想要一个像 getFilledObject() 这样的方法,它向我的程序返回一个完整填充的对象。
我可以将这个逻辑放到主流程中,并“就地”填充它,也可以将这个方法添加到类本身中,这样它就会知道如何根据我传递的参数填充自己。后一个决定已经足够好了,唯一的问题是类必须比简单的普通 get-set 类更了解它的性质。
但我觉得这两个决定都不够好。应该是什么?仅包含填充对象逻辑的辅助类?
那么结果是什么呢?一、静态工厂方法
class A {ObjType1 obj1;ObjType2 obj2;public A() {}public static getA(int param1, int param2) { A a = null; ObjType3 obj3 = null; if (somelib.complexCheck(param)) { obj3 = someotherlib.getSomething(param2); // other stuff } if (obj3 != null) { // do something with getters & setters, fill a } return a;}
和工厂模式或类似的东西
class Fact { public static A getA(int param1, int param2) { // do all that stuff here }}
在我看来,在静态工厂方法 的情况下,A 类中的大量导入指令会有所不同。此外,如果所有这些都需要相同的库,我们可以将类似的静态方法放入 Fact 类中。
你会在两者之间选择什么?
最佳答案
A helper class that contains only the logic to fill the object
被称为Factory Class .看来这就是你需要的。
另外,看看 Dependency Injection .
关于java - 谁负责设置对象属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1914805/
我新发现了 Perl fork ,我非常喜欢。但有一件事让我担心——如果我只是左右分离进程,这肯定会在某个地方引起一些问题。是否应该使用一种合理的检查来确保我的小应用程序不会占用我机器的所有资源? 拿
谁负责 MVVM 中的异步数据获取?例如,我的 View 有 5 个不同的数据集合要获取,我希望按预定义的顺序异步检索这些数据。为此,我使用协程和任务。 问题:VM 是否对此负责,我的模型/存储库应该
我有什么 ember-cli POD 结构。我有嵌套的路由,因此有以下文件夹结构: | |_pods |_items |_index | |_
我有一个 C# WPF 应用程序,它从数据库中读取数据然后做一些工作。但问题是当我读取数据时,我的 UI 没有响应。我已经尝试过任务和调度程序。他们都没有帮助。下面的代码在 button_click
在使用 /sys/class/leds/ 摆弄 LED 之后,我现在正试图了解如何使用 linux kernel power supply attributes 控制计算机中的电池。 ,特别是 CHA
我在我的桌面应用程序中做了一些非常简单的错误记录,该应用程序通过 SerialPort 与设备通信。我做的一件事是设置一个全局异常捕获器,它除了使用以下方法记录堆栈跟踪外什么都不做: AppDomai
我是一名优秀的程序员,十分优秀!