«design-patterns» 태그된 질문

디자인 패턴은 소프트웨어 디자인에서 일반적으로 발생하는 문제에 대한 일반적인 재사용 가능한 솔루션입니다.

13
싱글 톤이 나쁘다면 어떻게해야할까요?
최근 싱글 톤 사용 (과용) 문제에 대해 많은 논의가있었습니다. 나는 내 경력 초기에 그 사람들 중 하나였습니다. 나는 지금 문제가 무엇인지 알 수 있지만, 여전히 좋은 대안을 찾을 수없는 경우가 많지만, 많은 안티 싱글 톤 토론이 실제로 하나를 제공하지는 않습니다. 다음은 제가 최근에 참여한 주요 프로젝트의 실제 예입니다. 응용 프로그램은 …

12
"비즈니스 로직은 모델이 아닌 서비스에 있어야 얼마나 정확합니까?"
상태 오늘 저녁 나는 준 대답 에 StackOverflow에 대한 질문을. 질문: 기존 객체의 편집은 저장소 계층 또는 서비스에서 수행해야합니까? 예를 들어 부채가있는 사용자가있는 경우. 나는 그의 빚을 바꾸고 싶다. 객체를 가져 와서 편집하고 저장하여 BuyingService와 같은 UserRepository 또는 서비스에서해야합니까? 내 대답 : 객체를 동일한 객체로 변경하는 책임은 그대로두고 리포지토리를 사용하여이 …

17
왜 글로벌 주가 그렇게 악한가?
시작하기 전에 추상화 및 종속성 주입의 개념을 잘 알고 있다고 가정하겠습니다. 눈을 뜨고있을 필요는 없습니다. 글쎄, 대부분의 사람들은 "글로벌 변수를 사용하지 마십시오"또는 "싱글 톤은 글로벌이기 때문에 악한 것"이라는 것을 실제로 이해하지 않고 여러 번 말합니다. 하지만 실제로는 무엇 이며 불길한 전역 상태에 대해 그렇게 나쁜? 내 응용 프로그램, 예를 들어 …


18
수천 개의 IF… THEN… ELSE 규칙을 어떻게 관리 할 수 ​​있습니까?
핵심은 수천 개의 if ... then ... else 문으로 구성되는 응용 프로그램 작성을 고려하고 있습니다. 응용 프로그램의 목적은 어떤 풍경에서 소가 어떻게 움직이는 지 예측할 수 있도록하는 것입니다. 그들은 태양, 바람, 음식 소스, 갑작스러운 사건 등과 같은 것들의 영향을받습니다. 그러한 응용 프로그램을 어떻게 관리 할 수 ​​있습니까? 수백 번의 IF …

16
상사는 작은 함수 작성을 중단하고 동일한 루프에서 모든 작업을 수행하도록 요청합니다.
Clean Code 라는 책을 읽었습니다.Robert C. Martin의 . 이 책에서는 작은 함수 작성, 이름 선택 등의 코드를 정리하는 많은 방법을 보았습니다. 필자가 읽은 깨끗한 코드에 관해 가장 흥미로운 책으로 보입니다. 그러나 오늘 상사는이 책을 읽은 후 코드를 작성하는 방식을 좋아하지 않았습니다. 그의 주장은 작은 함수를 작성하면 코드가 무엇을하는지보기 위해 각각의 …

10
콜 체인에서 여러 수준으로 만 사용되는 전달 매개 변수의 (안티) 패턴 이름이 있습니까?
일부 레거시 코드에서 전역 변수 사용에 대한 대안을 찾으려고했습니다. 그러나이 질문은 기술적 대안에 관한 것이 아니며 주로 용어 에 대해 우려하고 있습니다. 확실한 해결책은 전역을 사용하는 대신 매개 변수를 함수에 전달하는 것입니다. 이 레거시 코드베이스에서는 값이 사용될 지점과 매개 변수를 먼저받는 함수 사이에서 긴 콜 체인의 모든 함수를 변경해야합니다. higherlevel(newParam)->level1(newParam)->level2(newParam)->level3(newParam) …

10
왜 디자인 패턴에 많은 클래스가 필요한가?
나는 선배들 사이에서 주니어 개발자이며 그들의 생각과 추론을 이해하는 데 많은 어려움을 겪고 있습니다. 나는 읽고있다 도메인 기반 디자인 (DDD)를 우리는 너무 많은 클래스를 생성해야하는 이유 이해할 수 없습니다. 소프트웨어 설계 방식을 따르면 20-30 개의 클래스로 끝나고 최대 2 개의 파일과 3-4 개의 함수로 대체 될 수 있습니다. 예, 이것은 …

14
"코드에서 SQL 서버를 효과적으로 활용할 수있는 방법을 절대로 사용하지 마십시오"-이것은 나쁜 설계를위한 레시피입니까?
소수의 장소에서 반복해서 들었던 아이디어입니다. SQL에서 순수하게 문제를 해결하려고 시도하면 특정 수준의 복잡성을 초과한다는 사실을 어느 정도 인정하는 것이 실제로 코드에서 처리해야한다는 것입니다. 아이디어의 논리는 대부분의 경우 데이터베이스 엔진이 코드에서 할 수있는 것보다 작업을 완료하는 가장 효율적인 방법을 찾는 데 더 나은 작업을 수행한다는 것입니다. 특히 데이터에서 수행되는 작업에 대해 …

10
실제로 MVC 란 무엇입니까?
심각한 프로그래머로서 MVC 란 무엇입니까? 내 생각에 MVC는 일종의 끔찍한 주제입니다. 따라서 청중이 학습자라면 논란의 여지가없는 일반적인 용어로 자유롭게 설명 할 수 있습니다. 그러나 당신이 지식이 풍부한 청중, 특히 면접관에게 말하고 있다면, 나는 "잘 옳지 않다!" 우리는 모두 실제 경험이 다르며 동일한 MVC 구현 패턴을 두 번 충족시키지 못했습니다. 구체적으로, …

9
직접 객체 생성 대신 팩토리 클래스를 사용해야하는 이유는 무엇입니까?
GitHub 및 CodePlex에서 여러 С # 및 Java 클래스 라이브러리 프로젝트의 역사를 보았으며 직접 객체 인스턴스화와는 반대로 팩토리 클래스로 전환하는 경향을 봅니다. 왜 팩토리 클래스를 광범위하게 사용해야합니까? 클래스의 공용 생성자를 호출하여 객체가 구식 방식으로 만들어지는 꽤 좋은 라이브러리가 있습니다. 마지막 커밋에서 저자는 수천 개의 클래스의 모든 공용 생성자를 내부로 신속하게 …

4
부패 방지 계층이란 무엇이며 어떻게 사용됩니까?
반부패 계층이 실제로 무엇을 의미하는지 알아 내려고 노력 중입니다. 레거시 코드 또는 잘못된 API를 전환 / 해결하는 방법이라는 것을 알고 있습니다. 내가 이해하지 못하는 것은 작동 방식과 원하지 않는 층과 깨끗하게 분리되는 것입니다. 몇 가지 검색을 수행했지만 간단한 예나 설명을 찾을 수 없으므로이를 이해하고 간단한 예를 통해 설명 할 수있는 …

14
4 인조는“패턴 공간”을 철저히 조사 했습니까?
적어도 10 년 전에 GoF (Gang of Four) 디자인 패턴 에 대해 처음 알게 된 이래로 ,이 23 개의 패턴은 패턴 공간 이라고 부르는 것보다 훨씬 큰 작은 샘플이어야한다는 인상을 받았습니다 . 이 가상의 패턴 공간 은 일반적인 객체 지향 소프트웨어 설계 문제에 대한 모든 권장 솔루션 (알거나 알 수 …

13
디자인 패턴이 눈에 띄는가?
저는 20 년 동안 사업을해온 수석 개발자 중 한 명과 토론을했습니다. 그는 온타리오에서 자신이 작성한 블로그로 유명합니다. 이상한 것은 그가 나에게 말한 것입니다. 그는 교과서에서 작성되었으므로 실제 세계를 설명하지 않기 때문에 악몽이되는 코드가 있다고 말했습니다. UI / 데이터베이스 / 데이터 레이어에 새 필드를 추가하는 데 2-3 시간이 걸리지 만 코드에서는 …

17
반환 값이없는 함수 / 메소드에서 NULL 또는 빈 값을 반환하는 것이 더 낫습니까?
나는 여기에 추천을 찾고 있습니다. 반환 값이 없거나 확인할 수없는 경우 NULL 또는 빈 값을 메서드에서 반환하는 것이 더 나은지 여부에 어려움을 겪고 있습니다. 다음 두 가지 방법을 예로 들어 보겠습니다. string ReverseString(string stringToReverse) // takes a string and reverses it. Person FindPerson(int personID) // finds a Person with a …

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