Библиотека, а не фреймворк: использование возможностей модульности и гибкости в разработке программного обеспечения