最近,我一直在非常认真地阅读 Robert C. Martin(又名 Bob 叔叔)的书。我发现他谈到的很多东西对我来说都是现实生活中的救星(小函数大小,非常描述性的事物名称等)。
我还没有解决的一个问题是代码耦合。我一遍又一遍地遇到的一个问题是我将创建一个对象,例如包装数组的东西。我确实会在一个班上做一些工作,但后来不得不打电话给另一个班在另一个班上做。以至于我将相同的数据传递了 3-4 层,这似乎没有意义,因为很难跟踪该对象正在传递的所有地方,所以当是时候改变它了我有很多依赖项。这似乎不是一个好习惯。
我想知道是否有人知道更好的方法来处理这个问题,似乎 Bob 的建议(尽管我可能误解了它)似乎使情况变得更糟,因为它让我创建了更多的类。提前谢谢。
编辑:通过请求一个真实世界的例子(是的,我完全同意这很难理解):
class ChartProgram () {
int lastItems [];
void main () {
lastItems = getLast10ItemsSold();
Chart myChart = new Chart(lastItems);
}
}
class Chart () {
int lastItems[];
Chart(int lastItems[]) {
this.lastItems = lastItems;
ChartCalulations cc = new ChartCalculations(this.lastItems);
this.lastItems = cc.getAverage();
}
class ChartCalculations {
int lastItems[];
ChartCalculations (int lastItems[]){
this.lastItems = lastItems;
// Okay so at this point I have had to forward this value 3 times and this is
// a simple example. It just seems to make the code very brittle
}
getAverage() {
// do stuff here
}
}