https://intlibrary.ir/download/design-patterns-explained-simply-21798/