I am new to Design Patterns. Looking at the example code in the Design Pattern Framework, my understanding of the Factory Method pattern is that it uses the following "good design principles":
1) Favor composition over inheritance - private List<Page> _pages = new List<Page>();
2) Programming to an interface - Document documents = new Document;
3) Encapsulating changes - public abstract void CreatePages();
4) Between 2 classes we have week relationship, i.e. loose coupling
5) Using open/close principle - cannot change existing classes but we can add more variants, i.e. extensions
Are my conclusions correct?
Are there additional good Design Principles in the Factory Method?