Basic Concepts
摘要
Let’s start with a simple yet essential question. When should you care about .NET memory management if it is all automated? Should you care at all? As you probably expect by the fact that we wrote such a book, we strongly encourage you to think about memory in every developer’s situation. This is often what makes the difference between proof of concept on a developer machine and production-ready code. Is it optimal in terms of CPU and memory usage? Is it maintainable, testable, opened for extension, but closed for modification? Is your code SOLID? We believe all those questions distinguish beginners from more advanced, experienced programmers. The former are mainly interested in getting the job done and do not care much about the abovementioned, nonfunctional aspects of their work. The latter are experienced enough to have enough “mental processing power” to consider the quality of their work. We believe everyone wants to be like that. But this is, of course, not a trivial task. Writing elegant code, without any bugs, with each possible nonfunctional requirement fulfilled is really hard.