TDD 또는 반복 모드에서 응용 프로그램을 빌드 할 때 가장 선호하는 디자인 패턴이있는 것과 같은 것이 있습니까?반복적 인 개발에 가장 적합한 디자인 패턴은 무엇입니까?
답변
는 나는이 말에 더 의미가 있습니다, 그래서 문제는 다시 쓸 수 있다고 생각 :
테스트 - 기반 및 증분 개발 전략을 사용하는 경우 아키텍처 패턴과 전략이 유연성을 달성하기 위해 유용" ? "
내 대답은 다음과 같습니다 당신처럼, 당신의 clases 및 구성 요소를 분리하는 데 도움 패턴
Inversion of Control and Dependency Injection - 런타임 때까지 해결 수업 및 특정 구현에서 분리 된 구성 요소 간의 종속성을 유지하는 데 도움이 (또는 시작 시간) 아직 구현되지 않은 기능과 단위 테스트에 스텁을 사용할 수 있습니다.
Facades - 상호 작용을 위해 잘 정의 된 인터페이스를 제공하는 구성 요소를 분리하여 커플 링을 줄이는 데 도움이됩니다.
공장 및 기타 creational patterns - 객체 인스턴스화를 담당하는 코드 섹션에서 유연성을 제공합니다.
또한 증분 반복 개발의 진언 중 하나는 'Do the simplest thing that could possibly work'입니다. 지나치게 엔지니어하지 마십시오.
당신이 물어 본 것에 따라 말이됩니까?
Python이나 Ruby와 같은 동적 언어를 사용하여 개발 : 먼저 "디자인 패턴"의 이유 인 다른 언어와 관련된 많은 문제들과 싸울 필요가 없습니다.
자동 테스트와 함께 동적 언어를 사용하면 결과가 매우 빨라 지므로 어느 방향으로 나아갈 지 알 수 있습니다. 그런 다음 성능상의 이유로 정적 언어를 사용하거나 이미 작성한 동적 소프트웨어를 번역 할 수있는 모든 것을 사용해야합니다.
나는 이것이 의미있는 질문인지 잘 모르겠습니다. 그러나 나는 그만 두지 않을 것입니다 ...
당신이 선택한 애자일 과정에서 진화함에 따라 특정 패턴이 응용 프로그램 설계의 측면에 적합하다고 분명히 드러날 수 있지만 (잘하면 mis-) Ron Jeffries을 인용하면 "코드에서 알려줍니다".
편집 :하지만 확실한 대답을 원할 경우 브리지. 그거 좋네. 또는 방문자, 나는 저것을 역시 좋아한다. 또는 대부분이 "F"로 시작하는 것입니다. :)
반복적 인 개발에 좋은 반복 패턴이라고 생각합니다. –
감사합니다. – user20358
디자인 패턴은 특정 유형의 문제를 해결하는 데 도움이되는 도구입니다. 패턴의 사용은 개발 방법론이 아니라 요구 사항의 범위에 의해 정의 된 문제에 의해 결정됩니다.
나는 동의하지 않는다. 테스트 주도 개발이 방법론의 일부인 경우 DI 또는 IOC와 같은 특정 패턴의 사용을 요구하는 묵시적 요구 사항으로 "단위 테스트가 가능함"을 볼 수 있습니다. –
다른 것들을 혼합하지 마십시오. 패턴이 적용 가능할 때 패턴을 사용하고 시간과 노력을 절약 할 수 있으며 코드를보다 표준화 할 수 있습니다. 개발 방법론과는 아무런 관련이 없습니다!
그러나, 당신은 당신의 애플리케이션 아키텍처에 몇 가지를 강조 할 수 있습니다 :
- 하는 일이 매우 모듈합니다. 수용 느슨한 커플 링.
- 명확한 개념적 경계를 모듈간에 정의하십시오 (). 개념적으로 말하면 처음에는 분명해야하며 자연 스럽다고 느낍니다. 무작위 프로그래머가 "와우, 네가 어떻게했는지는 분명하다!"라고 대답해야한다고 물었다.
- 작은 시작. ZOMG를 만들려고 시도하지 마십시오. 이것은 최고의 보편적 인 도서관 및 프로그램이 될 것입니다. 필요한 경우에만 작업을 수행 한 다음 확장하십시오.
- YAGNI (당신은 꼭 필요하지는 않습니다)라고 자신을 설득하십시오. 자신이해야 할 일이 확실하지 않은 일을하지 마십시오. 꾸물 거리거나 어떤 것을 의미하지는 않습니다. "나는 모른다, 미래에 유용 할 수도있다", "기술적으로 멋지다", "나는 단지 그것을 위해서 포함 할 것"때문에 일을하지 말라는 의미입니다.
- DRY - 자신을 반복하지 마십시오. 코드 중복 문제가 발생하지 않도록하십시오. 코드 생성기, 좋은 추상화 및 팀 전체의 의사 소통에 대해 생각해보십시오.
- 1. 이 문제에 가장 적합한 디자인 패턴은 무엇입니까?
- 2. '색상'구조에 가장 적합한 디자인 패턴은 무엇입니까?
- 3. AS3에서 RTS 게임에 가장 적합한 디자인 패턴은 무엇입니까?
- 4. Windows에서 Mono 개발에 가장 적합한 설정은 무엇입니까?
- 5. PHP 개발에 가장 적합한 vim 구성은 무엇입니까?
- 6. 소프트웨어 개발에 가장 적합한 일지 소프트웨어는 무엇입니까?
- 7. 웹 개발에 가장 적합한 텍스트 편집기는 무엇입니까?
- 8. 조건부가 적절한시기와 용도에 가장 적합한 패턴은 무엇입니까
- 9. HttpRequestDispatcher에 가장 적합한 디자인 패턴?
- 10. 데이터 집약적 인 응용 프로그램 개발에 가장 적합한 GWT 라이브러리
- 11. HTML5 개발에 맞는 프리젠 테이션 디자인 패턴은 무엇입니까?
- 12. 당신이 만난 가장 흥미로운 디자인 패턴은 무엇입니까?
- 13. NSNumberFormatter에 적합한 코드 패턴은 무엇입니까?
- 14. 이 계층 구조 클래스 구조에 적합한 디자인 패턴은 무엇입니까?
- 15. 통화 변환을위한 디자인 패턴은 무엇입니까?
- 16. iPhone의 "File Owner"객체를 가장 잘 나타내는 디자인 패턴은 무엇입니까?
- 17. 휴대 전화 개발에 가장 적합한 데이터베이스
- 18. SMS와 관련된 휴대 전화 개발에 가장 적합한 프로그래밍 언어는 무엇입니까?
- 19. 디자인 패턴에 가장 적합한 웹 사이트는 무엇입니까?
- 20. 반복적 인 가장 가까운 포인트 라이브러리
- 21. 반복적 인 SQL : 의미는 무엇입니까?
- 22. 반복적 인 데이터 설계
- 23. MySQL의 반복적 인 쿼리는
- 24. OBJ 대 3DS - Android 3D 개발에 가장 적합한 형식은 무엇입니까
- 25. PHP 개발 또는 일반 개발에 가장 적합한 운영 체제는 무엇입니까?
- 26. iPhone 응용 프로그램 개발에 가장 적합한 시스템 구성은 무엇입니까?
- 27. CLI 응용 프로그램/스크립트 개발에 가장 적합한 라이브러리는 무엇입니까?
- 28. docstrings의 반복적 인 내용
- 29. 테스트 가능성에 가장 적합한 데이터베이스 액세스 패턴은 무엇입니까?
- 30. 클래스 간 양방향 통신에 가장 적합한 패턴은 무엇입니까?
감사 세르지오. 당신은 내 질문을 완벽하게 재구성했습니다. :) 내가 언급 한 패턴을 확인해 보겠습니다. – user20358