【发布时间】:2012-12-21 11:47:09
【问题描述】:
这是一个低级设计问题。我正在尝试掌握面向对象的编程。
我正在编写一个 Java 类,该类具有设置值对象的数据成员值的方法。这些值是由我的班级根据一些业务逻辑计算的。最后,我的类应该返回如此填充的值对象。这样做最面向对象的方式是什么?
一种可能的方法,我似乎要走的路是,在我的 Java 类中为我需要设置的每个数据成员(VO)创建 compute() 方法。这些计算方法中的每一个都返回我使用值对象的相应 setter 方法设置的所需值。 但是,我认为这种方法比面向对象的方法更程序化,因为我只是按顺序按程序调用这些计算方法并填充我的值对象。
那么我可以使用/查看哪些设计(...设计模式?)或最佳实践,以使这段代码成为面向对象的。
代表代码(我现在有的):
class Adapter { // this is my Java class
MyValueObject applyBusinessLogic(Input object)
{
MyValueObject vo = new MyValueObject();
vo.setA(computeA());
vo.setB(computeB());
vo.setC(computeC());
return vo;
}
String computeA() { ...some logic... return a;}
String computeB() { ...some logic... return b;}
String computeC() { ...some logic... return c;}
}
class MyValueObject {
String a;
String b;
String c;
public void setA(String a)
{
this.a = a;
}
public void setB(String b)
{
this.b = b;
}
public void setC(String c)
{
this.c = c;
}
}
【问题讨论】:
-
你可以看看Builder模式en.wikipedia.org/wiki/Builder_pattern
-
“什么是最面向对象的做法?” - 没有像最面向对象的做法这样的事情。所以我想知道你为什么这样问。
-
@hakre 我的意思是什么是制作这个面向对象的过程代码的方法。
标签: java oop procedural-programming