NSDocument is the abstract class that you subclass for your app.
NSDocumentController is the app-specific class that manages the opening and closing of your document.
NSWindowController is the class that manages the window in which your document is displayed.
There isn’t a one-to-one mapping of these classes ...