소프트웨어 공학

시스템 개발 수명주기 내에서 작업하는 전문가, 학자 및 학생을위한 Q & A

2
파이썬의 상속은“is-a”상속 스타일입니까 아니면 구성 스타일입니까?
파이썬이 다중 상속을 허용한다는 것을 감안할 때 파이썬의 관용 상속은 어떻게 생겼습니까? Java와 같은 단일 상속을 가진 언어에서 상속은 하나의 객체가 다른 객체의 "is-a"라고 말하고 객체간에 코드를 공유하려고 할 때 사용됩니다 (부모 객체에서 자식 객체로). 예를 들어, 당신은 말할 수 DogA는 Animal: public class Animal {...} public class Dog extends …

5
컴파일 타임 값 매개 변수를 사용하여 Java 클래스 생성
클래스가 동일한 기본 동작, 메소드 등을 구현하지만 해당 클래스의 여러 버전이 다른 용도로 존재할 수있는 상황을 고려하십시오. 내 특별한 경우에는 벡터 (목록이 아닌 기하학적 벡터)가 있고 그 벡터는 모든 N 차원 유클리드 공간 (1 차원, 2 차원, ...)에 적용될 수 있습니다. 이 클래스 / 타입을 어떻게 정의 할 수 있습니까? …

3
인수가 많은 생성자를 피하십시오
그래서 다른 클래스의 객체를 만드는 팩토리가 있습니다. 가능한 클래스는 모두 추상 조상에서 파생됩니다. 팩토리에는 구성 파일 (JSON 구문)이 있으며 사용자 구성에 따라 작성할 클래스를 결정합니다. 이를 위해 팩토리는 JSON 구문 분석에 boost :: property_tree를 사용합니다. 그는 ptree를 통해 어떤 콘크리트 객체를 만들지 결정합니다. 그러나 product-objects에는 많은 필드 (속성)가 있습니다. 구체적인 …

3
테스트를위한 전용 세터가있는 스터 빙 속성
우리는 목표를 가지고 public class MyObject{ protected MyObject(){} public string Property1 {get;private set;} public string Property2 {get;private set;} public string Property3 {get;private set;} public string Property4 {get;private set;} public string Property5 {get;private set;} public string Property6 {get;private set;} public string Property7 {get;private set;} public string Property8 {get;private set;} public string …

2
프로그래머가 병렬 처리를 위해 C / POSIX를 대체하기 위해 프로그래밍 모델을 정의하는 이유는 무엇입니까?
새로운 컴퓨터 아키텍처 제공 업체는 정기적으로 새로운 프로그래밍 모델 (예 : 최근 GPGPU 용 CUDA / OpenCL)을 도입하려고 시도하고 플랫폼 병렬 처리의 제어 인터페이스로 C / POSIX를 대체합니다. (Poss & Koening, AM3 : 2015 년 많은 코어를위한 하드웨어 유닉스 가속기로) 아키텍처 설계자가 병렬 컴퓨팅을위한 C / POSIX를 대체하기 위해 새로운 …

2
LGPL이 GPL 사본을 포함하기 위해 결합 된 저작물을 요구하는 이유는 무엇입니까?
LGPL 라이센스를 읽었 으며 이전에 알지 못했던 요구 사항을 발견했습니다. 제 4 절 (조합 작품) 다음 각 항목을 수행하는 경우 복합 작업 [...]을 전달할 수도 있습니다. a) 결합 된 저작물의 각 사본에 라이브러리가 사용되며 라이브러리와 그 사용이이 라이센스의 적용을 받는다는 사실을 눈에 잘 띄십시오. b) GNU GPL 및이 라이센스 문서 …

2
copy-on-write 시맨틱의 장점
COW (Copy-On-Write)의 장점은 무엇입니까? 당연히 개인적 견해는 기대하지 않지만 실제적이고 실용적인 시나리오는 기술적으로나 실질적으로 유익 할 수 있습니다. 그리고 유형의 의미는 &문자 입력을 절약하는 것 이상을 의미 합니다. 명확히하기 위해이 질문은 할당 또는 복사본 구성이 암시 적 얕은 복사본을 만드는 데이터 유형의 컨텍스트에 있지만 수정하면 암시 적 깊은 복사본이 만들어지고 …
10 c++  qt 

4
조회 테이블 : 도메인 모델에서 누수가 있습니까?
회사를 추적하는 시스템을 구축 중입니다. 해당 회사에는 연락처가 있습니다. 이러한 담당자는 종종 청구 / 지불, 판매, 주문 및 고객 지원과 같은 특정 유형의 질문에만 답변하는 전문가입니다. 도메인 기반 디자인과 양파 아키텍처를 사용하여 다음 유형으로 모델링했습니다. 회사 연락처가 있습니다 접촉 접촉 유형이 있습니다 ContactType (열) 회사 저장소 (인터페이스) EFCompanyRepository (외부 어셈블리에 …

3
시나리오에 가장 적합한 데이터 저장소는 무엇입니까?
데이터베이스에서 업데이트 / 선택 쿼리를 매우 많이 실행하는 응용 프로그램을 작성 중입니다. 기본 테이블 (A)가 있는데 하루에 약 500 개의 레코드가 있습니다. 그리고 시스템의 모든 사용자에 대해이 엔티티의 변형은 사용자의 일부 환경 설정을 기반으로 작성되며 다른 테이블 (B)에 저장됩니다. 이것은 매일 자정에 실행되는 크론 작업에 의해 수행됩니다. 따라서 테이블 A에 …

2
DVCS가 왜 모두 확약되지 않은 변화에 대한 비이성적 인 공포증을 겪는 것처럼 보이는가?
SVCS 배경에서 비롯된 DVCS 시스템 작업에 익숙해지기 가장 어려운 것 중 하나는 시한 시한 폭탄과 같은 커밋되지 않은 변경 사항 을 모두 고려하는 방식 입니다. Mercurial에서 변경 사항을 가져 오려고 시도하고 작업 사본에 커밋되지 않은 변경 사항이있는 경우 들어오는 변경 사항을 병합하기 위해 후프를 뛰어 넘어야합니다. 분기를 전환 하시겠습니까? 그것은 …

5
뷰가 유효성 검사를 수행하지 않아야합니까?
" MVC에서 모델이 유효성 검사를 처리해야합니까? "를 읽었습니다 . 유효성 검사 논리가 MVC 웹 사이트에서 어디로 가야하는지 궁금하기 때문입니다. 맨 위 답변의 한 줄은 다음과 같습니다. "컨트롤러는 유효성 검사를 처리하고 모델은 검증을 처리해야합니다." 나는 그것을 좋아했지만 몇 가지 이유로 View에서 데이터 유효성 검사를 수행하지 않는 이유가 궁금합니다. 뷰는 일반적으로 강력한 …
10 architecture  mvc 

3
다 대다 관계를 관리하기위한 디자인 패턴이 있습니까?
이 데이터 패턴을 정의하는 데 문제가 있습니다. 여러 응용 프로그램에서 작업했습니다. 다음으로 구성됩니다. 많은 객체 자체로 구성된 객체 유형 두 번째 객체 유형으로, 각 인스턴스에는 첫 번째 객체가 '많이 있습니다' 또한, 제 1 객체의 각 서브 객체는 제 2 객체 유형에 대한 각 연관마다 수정 가능하다. 간단한 예는 다음과 같습니다. …

2
Java 입력을 얻기 위해 스캐너 클래스의 인스턴스가 필요한 이유는 무엇입니까?
Java는 객체 지향적이지만 입력을 얻기 위해 스캐너 클래스에서 객체를 만들어야하는 이유는 무엇입니까? 할 수 없습니다 next()방법은, 예를 들어, 단지 정적? C 나에게 당신은 그냥 사용으로 아주 간단하게 보이는 scanf(), gets()또는 fgets(). Java 개발자가 Scanner 클래스를 작성해야 할 이유가 있다고 확신하지만 정상적인 기능을 수행하는 것보다 더 나은 방법은 무엇입니까? 같은 질문을하는 …

2
뷰는 모델에 대해 얼마나 알아야합니까?
WPF 용 Python 래퍼와 DAG 지원을 사용하여 Python으로 응용 프로그램을 작성하고 있습니다. 현재 데이터와 뷰간에 일관된 상호 작용 방식을 결정해야하는 시점에 있습니다. 내가 아는 한 현재 두 가지 명백한 해결책이 있습니다. 첫 번째 는 Android 애플리케이션의 구조와 유사합니다. 보기를 설정 / 채우는 컨트롤러가 있습니다. 따라서 컨트롤러는 뷰를 소유하고 표시 될 …
10 model  view 

4
애자일의 시맨틱 버전 관리
새로운 기능에 대한 몇 가지 이야기, 개선 사항 및 수정해야 할 버그가있는 14 일 스프린트 반복이 있다고 가정 해 봅시다. 또한 준비가되면 변경 사항을 배포합니다. 스프린트 종료를 기다리지 않습니다. 내 문제는-이와 같이 개발되고 유지 관리되는 제품의 의미 버전 관리를 추적하는 방법은 무엇입니까? 14 일마다 릴리스 할 경우 쉬울 것입니다. 버전 …

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