https://profilbaru.com/article/Design_by_contract