Single Responsibility Principle (SRP)
class ProfileRepository:
def get(self, id): ...
def save(self, profile): ...
class ProfileService:
def validate_and_save(self, profile):
self._validate(profile)
self.repository.save(profile)
def create_profile_chart(profile):
fig, ax = plt.subplots()
ax.plot(profile.distances, profile.elevations)
return fig
Jedes Modul hat genau EINEN Grund sich zu ändern.