couchmagpie

Musings on film, tv, books, games, music, writing, food, drink and life in general.

Assume

Are interfaces small and specific? Clients shouldn't be forced to depend on methods they don't use.

Does each class or module have only one job? For example, an email module should only handle sending emails, not deciding who gets them. assume

Can you add new features without changing the existing source code? Entities should be open for extension but closed for modification. Are interfaces small and specific