Dmitry Pavlovsky2,502 Points
Why should we declare new constant randomColor in ViewController? while view.backgroundColor = colorProvider.randomColor() where randomColor is taken from BackgroundcolorProvider will works as well.
Anthony Attard43,915 Points
It's a personal choice. One could argue the 2 line method is more clear on what's going on instead of having one long line.
Edit: In this case it makes sense to store the color in a constant since we are assigning the same color on 2 elements, the background and the button tint/text color. Otherwise the 2 elements would have different colors and would not be correct.