也許我錯過了它的文檔,但我想知道我應該如何處理「幫助對象」?我應該注入執行算法所需的對象嗎?我應該注入一切嗎?
代碼示例:
public Path dijkstra(Node startNode, Node endNode) {
Set<Node> nodesToInspect = new HashSet<Node>(); // should this Object be injected?
Path path = new Path(); // and this one?
while (!nodesToInspect.isEmpty()) {
// some logic like:
path.add(currentNode);
}
return path;
}
我應該注入的一切,或者我應該在某個時候,該算法「知道」說最需要什麼? 我應該嘗試消除每一個「新」?或者是一些對象的創作精品,例如API類一樣的HashSet,ArrayList中,等
http://stackoverflow.com/questions/1005473/must-dependency-injection-come-at-the-expense-封裝 – sdasdadas