모든 .NET 사용자가 알아야 할 주요 사례와 디자인 패턴은 무엇입니까? [닫은]


16

전문 프로그래머로서의 짧은 시간에 전체 교육을받은 프로그래머가 작성한 많은 응용 프로그램을 .NET 2.0 책의 첫 두 장을 읽고있는 것으로 나타났습니다.

내가 시작했을 때 나는 대부분의 응용 프로그램을 썼다!

AWESOME .NET 응용 프로그램을 작성하는 데 가장 큰 디자인 패턴은 무엇입니까?

놀랍게도 내부도 의미합니다!


중요한 것은 없습니다.
kirk.burleson

답변:


22

첫째 : 기본 도구를 잘 아십시오

  1. ASP.Net 이벤트 모델을 알고 있어야합니다. 그렇지 않으면 혼란에 빠질 것입니다.

  2. OO 의 역학 을 이해하십시오 . 비교적 경험이 많은 .Net 프로그래머는 여전히 1972 년이라고 생각하는 것 같습니다.

  3. 코드 완성을 읽기 시작하십시오.

둘째 : 우려를 분리하는 법을 배우십시오

ASP.Net 개발에서 가장 일반적인 디자인 범죄는 모든 비즈니스 논리를 코드 숨김에 넣는 것입니다. 모든 Microsoft 예제가 그렇게하는 것을 알고 있습니다. 나는 그것이 작은 응용 프로그램에서 정당화된다는 것을 알고 있습니다. 그리고 내가 알고 내가 때때로 그런 식으로 않습니다. 그러나 실제로, 그것은 나쁜 디자인이며 일주일 동안 나의 애완 동물을 싫어합니다.

셋째 : 디자인에 대한 다른 모든 것을 배우십시오

내가 보는 열악한 품질의 .Net 코드의 대부분은 열악한 OO 디자인의 결과입니다. 따라서 다음을 잘 이해하는 것이 좋습니다.

  • SOLID 원칙
  • GoF 디자인 패턴
  • MVC (ASP.Net MVC 용)

넷째 : 더 많은 도구에 대해 알아보기

즉시 사용 가능한 도구를 많이 제공하여 Microsoft가 일을 쉽게하는 방법을 알고 있습니까? 글쎄, 당신은 조만간 그들의 한계에 부딪 칠 것입니다. 당신이 할 때, 당신은 당신의 의지에 구부리거나 자신의 롤해야합니다. 어느 쪽이든 CSS와 자바 스크립트로 더러워 져야 할 것이다.

드디어

일단 당신이 그 일을 끝내면, 당신은 굉장한 길을 가고 있습니다.

[편집 :이 sutff를 배우기위한 시퀀스를 수정했습니다. 어제 계산할 수없는 것 같습니다 ...]


"당신이 할 때, 당신은 당신의 의지에 구부리거나 자신의 롤을해야합니다"또는 오픈 소스를 사용하십시오. 그럼에도 불구하고 +1, 좋은 대답
pdr

고마워 .. 정말 멋진 답변 :-) 그러나 mvvm, ioc, mvp, 저장소, 공장에 관한이 모든 버즈는 무엇입니까? 여기에 다른 큰 유행어를 삽입하십시오.
Daniel Upton

3
MVVM-(현재) 매우 WFP / Silverlight 관련 디자인 패턴. MVP-클래스 / 계층 간의 상호 작용에 약간의 차이가있는 MVC와 유사한 패턴입니다. 리포지토리 / 공장 / IOC-위의 "Third"에 대한 읽기에서 다루어야하며 우려의 분리, DRY 원칙 및 테스트 가능한 디자인과 관련이 있습니다. "마이크로 소프트"접근 방식-요구 사항에 따라 다릅니다. 현재의 추세는 MVC3 인 것 같습니다. 이는 쉬운 IOC / DI, 테스트 가능한 컨트롤러 등으로 훨씬 적은 소란으로 "좋은"디자인을 가능하게하는 먼 길을 가고 있습니다.
mjhilton

3
@Daniel 거기에는 많은 유행어가 있습니다. 당신이 할 수있는 가장 중요한 일은 그들이 무엇인지 그리고 그들이 어떤 문제를 해결하도록 도울 수 있는지 배우는 것입니다. 전체 응용 프로그램을 유지 관리 영역에 가치를 추가하지 않거나 더 악화시키는 이해하기 어려운 디자인 패턴 세트에 갇히는 함정에 빠지지 마십시오 (때로는 너무 많은 것을 기억할 수 없습니다) 6 개월 후 작성). 적용 가능한 패턴을 사용하면 복잡한 문제를 더 간단하게 만들 수 있습니다.
Michael Dean

1
@Daniel : "Microsoft 축복"접근 방식에 대해 너무 걱정하지 않아도됩니다. 좋은 디자인은 누가 축복하든 좋은 디자인입니다. 실제로 Microsoft는 종종이 영역에서 캐치 업을 수행합니다 (예 : 다른 MVC 프레임 워크에 대한 응답으로 ASP.Net MVC). 즉, Micosoft 기술에 대해 알고 있어야 합니다 . 훌륭한 디자인은 사용 가능한 툴셋에 적합하지 않기 때문에 실패한 것으로 알려져 있습니다.
Kramii

0

Kramii가 언급 한 다양한 요점은 모두 가치가 있지만 SOLID 원칙을 사용하는 것에 대한 언급을 강조하고 싶습니다. 이것에 대해 잘 이해하면 큰 차이가 생기고 많은 GoF 패턴 등이 자연스럽게 떨어지기 시작합니다. 이 많은 것들이 당신의 관심사를 분리하고 의존성을 관리하는 것에 관한 것이므로 소스에서 시작하면 다른 모든 것이 합리적입니다.

JP Boodhoo와 함께 최근 OO 코딩 과정을 시작한 적이 있다면 단일 책임 원칙이 생각보다 훨씬 많은 것을 의미합니다! 이것을 잘 지키면 수업이 얼마나 작은 지 이해하는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.