Table

Table is a simple class that has only one very simple functionality.

public class Table { 
final ColorManager manager;
final int nrColumns;
final List<Row> rows;

public Table(int nrColumns, ColorManager manager) {
this.nrColumns = nrColumns;
this.rows = new LinkedList<>();
this.manager = manager;
}

public void addRow(Row row) {
rows.add(row);
}
}

There is one thing to mention, which is nothing new, but worth repeating. The rows variable is declared as final and it gets the value in the constructor. This is a List<Row> type variable. The fact that it is final means that it will hold the same list object during its lifetime. The length, members, and other features of the list may and will change. We will add new rows to this list. Final object variables reference an object, but it does not guarantee that the object itself is immutable. It is only the variable that does not change.

When you do code review and explain to your colleagues what a class does, and you find yourself starting the explanation "this class is very simple" many times, it means the code is good.
Well, it may be wrong in other aspects, but the class' granularity seems to be okay.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.137.220.92