Dev./객체지향

Single Responsibility(단일 책임 원칙)

hotpotato0 2022. 3. 29. 20:57

SOLID 의 첫번째 원칙

 

Single Responsibility -> 단일 책임 원칙

class Diver:
	def __init__(self, age, career):
    	self.age = age
        self.career = career
        
    def dive(self, sea):
    	pass

    def move(self, site):
    	pass
    
# 다이버에 맞지 않는 함수
    def print(self):
    	print(f"age:{self.age} career:{self.career}")
        
    def log(self, logger):
		logger.log(f"age:{self.age} career:{self.career}")
        logger.log(datetime.now())

한 클래스에 선언된 내용은 해당 클래스에만 관련있는 내용이어야한다.

 

class Diver:
	def __init__(self, age, career):
    	self.age = age
        self.career = career
        
    def dive(self, sea):
    	pass

    def move(self, site):
    	pass

    def repr(self):
    	return f"age:{self.age} career:{self.career}"
        

sd = Diver()
print(diver.repr())
logger.log(sd.repr())

모든 함수와 클래스는 하나의 part에 대해서만 responsibility를 가져야한다.