저는 C#을 사용하여 디자인 패턴을 학습하고 있습니다. 내가 직면하고있는 도전 과제 중 하나는 비슷한 것처럼 보입니다. 당신이 그들을 구별하도록 도와 주시겠습니까 - 기본적으로 언제 사용합니까? 왜 다른데?디자인 패턴 비교
- 브리지 및 전략
- 주 및 전략
- 외장 및 전략
- 복합 및 전략
내가 웹에서 사용할 수있는 자원이 많이 있다는 것을 알고 있습니다. 그러나 그들은이 특별한 시나리오를 다루지 않습니다.
[참고 : 선택 사항의 구현 예와 그 이유를 찾고 있습니다. 단순한 설명이 아님]
답장을 보내 주셔서 감사합니다. 다리를 더 배우려고 시도했습니다.
다음과 같은 경우가 있습니다.
내 방에는 두 개의 TV가 있습니다. 각각 하나의 리모컨이 있습니다. 두 가지 모두 사용자가 사용할 수있는 인터페이스가 동일합니다. 그러나 나는 두 리모컨 중 하나의 프로세서를 사용할 자체 원격 제어 장치를 갖고 싶습니다.
다음 코드가 있습니다. 제 생각에는 이것이 전략 패턴입니다. 이걸 Bridge로 변환하고 싶습니다.
- Bridge로 변환하는 방법은 무엇입니까?
Bridge로 변환하면 어떤 이점이 있습니까?
공용 클래스 PhilliTV { 공공 무효)의 (시작 { Console.WriteLine ("PhilliTV 바간"); } }
public class SonTV { public void Initiate() { Console.WriteLine("SonTV Initiated"); } } public class SonRemote : IRemote { SonTV stv = new SonTV(); public void Play() { stv.Initiate(); } } public class PhilliRemote : IRemote { PhilliTV ptv = new PhilliTV(); public void Play() { ptv.Begin(); } } public class URemoteConsumer { IRemote remote = new PhilliRemote(); public void MyPlay() { remote.Play(); }
이것은 숙제 문제처럼 보입니다. 대신, 당신은 스스로 질문에 대답하려고 시도하고, 대답을 게시하고 사람들에게 당신의 대답을 비평하거나 개선하도록 요청해야합니다. – ChrisW
http://realtimecollisiondetection.net/blog/?p=44 –
이것은 숙제 문제가 아닙니다. 숙제에 관한 질문은 이런 종류의 예제를 요구하지 않을 것입니다, 그렇죠? 결국 저는 소프트웨어 엔지니어링 전문가입니다 – Lijo