Since you are talking about a closed-loop control proportional control system, it is likely to be unstable (it will overshoot and undershoot the desired temperature without every stabilizing to a constant temperature) unless you design in some loop stability compensation circuits, such as PID or Fuzzy Logic. PID can be done with op amp analog circuits or a microprocessor. Fuzzy Logic is particularly easy to impliment with a microprocessor and is more intuitive (it's basically a series of If-Then statements, i.e. If "temperature error is large" Then "change fan speed by large amount").
The complexity of the required compensation depends upon how accurate and speedy you need the correction to be, and how fast the power dissipation may change on the heat dissipating surface.