디자인패턴
2개
팩토리 패턴 Factory Pattern
개념과 철학/디자인패턴필요성A a가 있고,a.do() 하면 a의 실제 자료형에 따라 do()의 구체적 내용이 결정된다.이것은 객체지향을 공부하면 알게 되는 기본적인 것들 중 하나인 오버라이딩을 통해 직접 구현된다.거꾸로외부의 어떤 요인이 있고,그 요인에 따라 a의 실제 자료형이 달라지는 경우.앞서 “거꾸로”라는 말을 썼듯; 이것은 고전적인 객체지향과는 정반대 성질의 일이기 때문에;객체지향 언어의 기초 문법으로 바로 구현되지 않고;이것을 구현하면서도 내 코드의 객체지향성을 잃어버리지 않으려면 특별한 기법을 써야 한다.팩토리 패턴은 바로 그 특별한 기법이다.개체생성을 개체화한다.팩토리 패턴 종류단순한 팩토리우리가 관심갖는 어떤 요소를 개체로서 분리하듯;개체 생성을 담당하는 개체(팩토리)를 따로 분리한다.팩토리에서 그 ‘외부요인’.. 2024.03.19. Kim Evergood전략 패턴 Strategy Pattern
개념과 철학/디자인패턴내가 이해한 게 맞다면;이건 진짜 별 거 아니고그냥 동작을 개체화한 것이다.Car.move를 수정하고 싶은데Car.move를 수정하면 안 되니까Car.setHowToMove( HowToMove )를 만들어놓고Car.move에서 HowToMove.move() 하는 게 해법이라고 하고 있다.move를 수정하고 싶은데 move를 수정하면 안 돼?????왜 이런 난리를 치느냐?고전적인 객체지향에서 동작이란 객체의 내부에 고정적으로 착 붙어있는 메서드이니까.객체지향의 태생적 특징을 벗어나려고 발버둥치는 똥꼬쑈!윽… 그… 있자나. 이런 게 디자인패턴으로서 존재한다는 거 자체가이게 중요하게, 자주 필요하면서도 이걸 주요 언어에서 직접 지원하지는 않는다는/않았다는 뜻이다.모든 걸 다 지원하는 언어같은 걸 꿈꾼 건 아니.. 2024.03.19. Kim Evergood
728x90