«design» 태그된 질문

소프트웨어 설계를 통한 솔루션의 문제 해결 및 계획에 대한 질문.

1
타사 코드를 포장하여 소비자를 단위 테스트하는 유일한 솔루션입니까?
단위 테스트를 수행하고 있으며 클래스 중 하나에서 메소드 중 하나에서 메일을 보내야하므로 생성자 주입을 사용하여 Zend_MailZend 프레임 워크 에있는 클래스 인스턴스를 주입합니다 . 이제 일부 사람들은 라이브러리가 충분히 안정적이며 자주 변경되지 않으면 랩핑 할 필요가 없다고 주장합니다. 따라서 그것이 Zend_Mail안정적이며 변경되지 않고 내 요구에 완전히 부합 한다고 가정하면 래퍼가 필요하지 …

4
인터페이스가 다른 인터페이스를 확장하고 메소드를 상속해야 함
이것은 일반적인 질문이지만 현재 겪고있는 문제와 관련이 있습니다. 현재 솔루션에 지정된 인터페이스가 있습니다. public interface IContextProvider { IDataContext { get; set; } IAreaContext { get; set; } } 이 인터페이스는 프로그램 전체에서 자주 사용되므로 필요한 개체에 쉽게 액세스 할 수 있습니다. 그러나 프로그램의 상당히 낮은 수준에서 IAreaContext 를 사용 하고 …
13 c#  design  interfaces 

4
라틴 알파벳의 시각적으로 그리고 청각 적으로 모호하지 않은 부분 집합?
누군가에게 "5SBDO0"코드가있는 카드를 준다고 상상해보십시오. 일부 글꼴에서 문자 "S"는 숫자 5와 시각적으로 구분하기 어렵습니다 (숫자 0 및 문자 "O"와 동일). 코드를 큰 소리로 읽으면 "B"를 "D"와 구별하기 어려울 수 있습니다. "B는 소년처럼", "D는 개처럼"또는 " 음성 알파벳 "을 대신 사용해야 합니다. 대부분의 경우 큰 소리로 읽을 때 시각적으로 모호하지 않게 …
13 design 

8
단일 책임 원칙-과도하게 사용합니까?
참조를 위해-http: //en.wikipedia.org/wiki/Single_responsibility_principle 하나의 응용 프로그램 모듈에서 원장 항목을 생성하는 테스트 시나리오가 있습니다. 수행 할 수있는 세 가지 기본 작업이 있습니다- 기존 원장 항목을 테이블 형식으로 봅니다. 작성 단추를 사용하여 새 원장 항목을 작성하십시오. 표에서 원장 항목 (첫 번째 포인터 참조)을 클릭하고 다음 페이지에서 세부 사항을보십시오. 이 페이지에서 원장 항목을 …

7
설계 문서에 주어진 설계에 대한 장단점에 대한 논의가 포함되어야합니까, 아니면 사실과 근거에 초점을 두어야합니까?
현재 설계 문서를 업데이트하여 향후 개발자에게 정확하고 최신 상태입니다. 현재이 문서는 사실에 중점을 두어 설계 방식을 제시합니다. 제시된 결정에 대한 근거는 없습니다. 필자는 이론적 근거를 파악하여 개발자가 무언가가 왜 그런지에 대한 이유를 알도록함으로써 미래의 결정에 영향을 미칠 수 있다고 생각합니다. 모든 설계 결정, 특히 프로젝트 작업을 시작하기 전에 이루어진 결정에 …

3
SOLID 원리 적용
저는 SOLID 설계 원칙에 익숙하지 않습니다 . 나는 그들의 원인과 이점을 이해하지만 SOLID 원칙을 사용하기위한 실제 연습으로 리팩토링하려는 더 작은 프로젝트에는 적용하지 않습니다. 완벽하게 작동하는 응용 프로그램을 변경할 필요는 없지만 어쨌든 리팩터링하여 향후 프로젝트의 디자인 경험을 얻고 싶습니다. 응용 프로그램에는 다음과 같은 작업이 있습니다 (실제로는 그 이상이지만 간단하게 유지하십시오). 데이터베이스 …

4
예외 처리가 교차 절단 문제입니까?
예외 처리 문제와 로그인 문제 사이의 차이는 교차 절단 문제라는 점을 많이 알지 못합니다. 어떻게 생각해? 메소드가 구현하는 핵심 로직에 인터리브되는 대신 자체적으로 별도로 처리해서는 안됩니까? 편집 : 내가 말하려는 것은 내 의견으로는 메소드 구현에 성공적인 실행 경로에 대한 논리 만 포함해야하며 예외는 다른 곳에서 처리해야한다는 것입니다. 이것은 확인되거나 확인되지 …

3
매개 변수화 된 쿼리에 대한 의존성이 SQL 삽입을 막는 유일한 방법입니까?
SQL 인젝션 공격에서 본 모든 것은 매개 변수가있는 쿼리, 특히 저장 프로 시저의 쿼리가 이러한 공격을 막을 수있는 유일한 방법임을 암시하는 것 같습니다. 내가 암흑 시대로 돌아 왔을 때 저장 프로시 저는 관리가 덜한 것으로 보였기 때문에 좋지 않은 관행으로 여겨졌다. 덜 테스트 가능; 고도로 결합 된; 하나의 벤더에 시스템을 …

7
개발 접근 방식 : 사용자 인터페이스 입력 또는 도메인 모델 출력?
스몰 토크를 사용하여 아무 것도 전달하지는 못했지만 짧은 시간을 보냈을 때 확실히 그 자리를 떠났습니다. 경험을 설명하는 유일한 방법은 MVC가 원래 의도했던 방식입니다. 기본적으로 응용 프로그램의 모든 작업은 비즈니스 개체 (또는 기울어 진 경우 도메인 모델)에서 수행됩니다. 표준 제어는 어떤 방식으로 비즈니스 오브젝트에 바인드됩니다. 예를 들어, 텍스트 상자는 객체의 필드에 …

5
Alan Cooper의 통합 파일 모델은 어떻게 되었습니까?
오랫동안 Alan Cooper (자신의 "About Face"의 3 가지 버전)는 "통합 파일 모델"을 홍보하여 ​​무엇보다도 그가 발명 한 가장 바보 같은 메시지 상자를 없애기 위해 "통합 파일 모델"을 홍보 해 왔습니다. "변경 사항을 삭제 하시겠습니까?"라는 앱 또는 양식의 닫기 버튼을 누르면 팝업이 나타납니다. 나는 그 아이디어와 그의 주장을 좋아하지만, 대부분의 노련한 …

4
"알림 센터"패턴이 프로그램 설계를 좋게 또는 나쁘게 조장합니까?
때때로 나는 코코아 NSNotificationCenter 예를 들어,이 메시지 허브 스타일의 API를 건너 : http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSNotificationCenter_Class/Reference/Reference.html 일반적으로 이러한 API는 메시지 / 이벤트를 구독하거나 브로드 캐스트하는 글로벌 액세스 지점을 제공합니다. API에서 명시 성이 없지만 소스 코드에 숨겨져있는 평평하고 구조화되지 않은 프로그램 아키텍처를 장려하기 때문에 이것이 문제라고 생각합니다. 객체 소유권과 계층 구조에 대해 생각할 필요는 …

1
문법에 따라 어휘 분석기를 작성할 때 따라야 할 절차는 무엇입니까?
Grammars, Lexers and Parsers에 대한 설명 이라는 질문에 대한 답변을 읽으 면서 다음과 같이 대답했습니다. [...] BNF 문법에는 어휘 분석 및 구문 분석에 필요한 모든 규칙이 포함되어 있습니다. 지금까지 나는 어휘 분석기가 문법에 전혀 근거한 것이 아니라 파서가 문법에 크게 의존 한다고 생각했기 때문에 다소 이상하게 들렸다 . 나는 렉서 …

4
데이터 값을 프로그램에 하드 코딩하면 이점이 있습니까?
나는 자율적이고 초보자 같은 코더이므로 프로그래머 링고를 못쓰게되면 사과드립니다. 나는 데이터에 대한 쿼리에서 보고서를 생성하는 도구를 본질적으로 만드는 개발자에게 지속적으로 업데이트되는 데이터를 제공하는 프로젝트를 진행하고 있습니다. 관련된 모든 사람들은 데이터 생성 (스키마가 아니라 도메인 / 값 자체)을 보고서 생성 프로그램에 하드 코딩해야한다고 생각하는 것 같습니다. 예를 들어 직원에 대해보고한다고 가정합니다. …

6
사람이 읽을 수있는 가장 간단한 구성 파일 형식은 무엇입니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 오년 전에 . 현재 구성 파일은 다음과 같습니다. mainwindow.title = 'test' mainwindow.position.x = 100 mainwindow.position.y = 200 mainwindow.button.label = 'apply' mainwindow.button.size.x …

5
서클에 가장 가까운 최적 값 찾기
아래는 이미지의 예입니다. 중간에 흰색 점이 있고 모든 빨간색 원이 이미 존재하는 경우 파란색 원에 대해 가장 가까운 위치를 찾고 싶습니다 (명확한 위치에 있음). . 그 위치를 어떻게 찾을 수 있습니까? 나를위한 성능은이 응용 프로그램의 주요 관심사가 아닙니다.

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