만화에서 알 수 있는 Strategy
유 닛토 씨, 그것은 취미에 너무 달리는 것입니다 ...
아, 죄송합니다, 잘 알려진 패턴이므로 놀았습니다. 전략은 네이밍이 더 이상 ...
Strategy 패턴은 GoF의 디자인 패턴 중에서 가장 알기 쉽고 다용도로 사용되는 패턴입니다. 오브젝트로부터, 어느 특정 부분의 판단을 실시하는 알고리즘을 분리해, 그것을 다른 오브젝트에 갖게 해, has-a 관계로 위양해 주는 형태입니다.
알고리즘을 분리하는 데는 세 가지 이점이 있습니다.
하나는 말할 필요도 없이 '관심의 분리'입니다. 이 부대의 전력을 가지고 하면 어떤 강대한 적도 격퇴할 수 있는 것이다. 하지만 부대의 최전선은 눈앞의 전투에만 집중할 수 있습니다. 그래서 대극을 본 전략 판단은 사령부에 맡겨주는 것입니다. SOLID의 단일 책임 원칙(SPR: 객체의 책임은 하나)입니다.
또 하나는
if
의 배제입니다. 모든 작전에 대한 지식을 가지고 있어 지금 어떤 작전 행동 중인지를 고려한다. 그래서 전선의 병사는 가능한 한 생각하지 않게 하고, 판단을 위양하는 목적지를 하나 결정해, 「이 작전」인가 「로 작전」인가, 혹은 다음의 작전인가, 사령부에의 보고에 대한 응답 전술 지령이 적절히 바뀌도록 하는 것입니다.마지막 장점은 강의 좋은 사람은 이미 알고 있다고 생각합니다만, 이 부대는 작전조차 입안하면 어떤 행동이라도 취할 수 있다는 것, 즉, 오브젝트의 추가에 의해 얼마든지 확장 가능하다는 것입니다. 작전이 늘어날 때마다 부대를 재훈련하고 있어서는 임전 태세를 유지할 수 없네요. 단순한 추가로 거동을 확장 가능... 이것은 끊임없이 개방 폐쇄 원칙(OCP: 확장에 대해서 오픈으로, 변경에 대해서 클로즈).
Strategy 패턴에 있어서 중요한 것은, 전력의 주체는 어디까지나 전선인 것과, 작전을 주는 것이 사령관이라고 하는 것입니다.
방위전에서는 작전 행동의 이니셔티브가 적측에 있기 때문에, 전선은 독자적인 판단으로 응전을 개시하지 않으면 안됩니다. 사령부가 일일이 Command를 발행해 움직이고 있어는 사이에 맞지 않기 때문에. Command 는 일단 실행하면 무효가 되어, 다음을 기다리지 않으면 안 됩니다만, Strategy 는 바뀔 때까지 계속 존속해, 몇번이나 호출 가능합니다.
또, 부대의 각 소대가, 자부대의 전국 State 가 바뀌었다고와 마음대로 작전을 변경하면 대단합니다. 영화라든지에서도, 그러한 것은 대개 사망 플래그군요. State 의 구상은 대부분, 같은 패키지는 아니고 외부에 있어, 자력으로
if
할 수 없고, 세터등으로 주어지는 것입니다.구체적인 예가 없어 이해하기 어려운가? 외부에서 택일로 주어져, 변경하지 않는 한 같은 드라이버가 계속 사용되고, 새롭게 데이터베이스 엔진이 늘어나면 드라이버를 추가로 늘릴 수 있다. 네, 그런 사람입니다. 글쎄, 너무 많다.
Reference
이 문제에 관하여(만화에서 알 수 있는 Strategy), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tanakahisateru/items/398676a754ea1fe4cb80텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)