«object-oriented» 태그된 질문

시스템을 모듈 방식으로 제어 및 조작 할 수있는 일련의 객체로 모델링 할 수있는 방법론

9
현실에서 다형성은 어떻게 사용됩니까? [닫은]
폐쇄되었습니다 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 작년에 문을 닫았 습니다 . 실제 프로젝트에서 다형성이 어떻게 사용되는지 이해하려고 노력하고 있지만 Animal메소드 가있는 부모 클래스 speak()와이 메소드를 재정의하는 많은 하위 …

7
인스턴스 생성이 왜 그런가?
지난 6 개월 정도 동안 C #을 배웠으며 이제는 Java를 탐구하고 있습니다. 내 질문은 인스턴스 생성에 관한 것입니다 (실제로 언어로). 이 예제를 보자 Person Bob = new Person(); 객체가 두 번 지정된 이유가 있습니까? 이 적을 수 있을까요 something_else Bob = new Person()? 컨벤션에서 팔로우한다면 다음과 같습니다. int XIsAnInt; Person …

4
구현 (HashMap) 대신 인터페이스 (예 : Map)를 사용하여 Java 객체를 정의해야하는 이유
대부분의 Java 코드에서 사람들은 다음과 같이 Java 객체를 선언합니다. Map<String, String> hashMap = new HashMap<>(); List<String> list = new ArrayList<>(); 대신에: HashMap<String, String> hashMap = new HashMap<>(); ArrayList<String> list = new ArrayList<>(); 실제로 사용될 구현이 아닌 인터페이스를 사용하여 Java 객체를 정의하는 것이 선호되는 이유는 무엇입니까?

5
인터페이스 사용시기 (단위 테스트, IoC?)
나는 여기에 남학생 오류가 있었고 의심을 찾고 있습니다. 내 솔루션 (C #)의 많은 클래스-대다수를 감히 감히-해당 인터페이스를 작성했습니다. 예를 들어 "ICalculator"인터페이스와이를 구현하는 "Calculator"클래스는 해당 계산기를 다른 구현으로 대체 할 가능성은 거의 없습니다. 또한 이러한 클래스의 대부분은 종속성과 동일한 프로젝트에 있습니다. 실제로는 그저 필요 만 internal있지만, public각각의 인터페이스를 구현하는 부작용으로 끝났습니다 …

6
오리가 다형성의 하위 집합을 입력하고 있습니까
위키피디아의 다형성에서 컴퓨터 과학에서 다형성 (polymorphism)은 균일 한 인터페이스를 사용하여 다양한 데이터 유형의 값을 처리 할 수있는 프로그래밍 언어 기능입니다. Wikipedia의 오리 입력에서 객체 지향 프로그래밍 언어를 사용한 컴퓨터 프로그래밍에서 덕 타이핑은 객체의 현재 메소드 및 속성 세트가 특정 클래스 또는 특정 인터페이스의 구현에서 상속되지 않고 유효한 의미를 결정하는 동적 …

5
SRP (Single Responsibility Principle)가 목표입니까?
"사용자에게 매력적인"디자인을 디자인하려는 두 명의 UI 디자이너를 고려하십시오. "사용자 매력"은 객관적이지 않으며 디자이너의 마음에만있는 개념입니다. 따라서 디자이너 A는 예를 들어 빨간색을 선택할 수 있지만 디자이너 B는 파란색을 선택할 수 있습니다. 디자이너 A는 디자이너 B와 완전히 다른 레이아웃을 만듭니다. 나는 SRP (Single Responsibility Principle)에 대해 읽었으며 내가 이해 한 것은 일종의 …

5
숙련 된 C ++ 엔지니어 팀에 OOP / OOD를 "소개"하는 가장 좋은 방법
기존 팀원에게 OOP 개념을 도입하기위한 모욕적 인 방법이 아닌 효율적인 방법을 찾고 있습니까? 내 팀원은 OO 언어를 처음 사용하지 않습니다. 우리는 오랫동안 C ++ / C #을 해왔으므로 기술 자체가 친숙합니다. 그러나 나는 노력 (주로 코드 검토의 형태)을 크게 주입하지 않고 둘러보고, 우리가 생산하는 것은 클래스 내부에서 발생하는 C 코드 …

6
메쏘드 체이닝 vs 캡슐화
메소드 체인과 "단일 액세스 포인트"메소드의 고전적인 OOP 문제가 있습니다. main.getA().getB().getC().transmogrify(x, y) vs main.getA().transmogrifyMyC(x, y) 첫 번째 클래스는 각 클래스가 더 작은 작업 집합에 대해서만 책임을지고 모든 것을 훨씬 모듈 방식으로 만드는 이점이있는 것 같습니다 .C에 메소드를 추가하는 것이 A, B 또는 C에서 노출시키지 않아도됩니다. 물론 단점은 캡슐화 가 약해서 두 …

11
객체 지향 프로그래밍이 성공한 이유는 무엇입니까? [닫은]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식에 의해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 칠년 전에 …


4
Java에 '서브 클래스 전용'액세스 수정자가없는 이유는 무엇입니까?
Java에는 메소드에 사용할 수있는 네 가지 액세스 수정자가 있습니다. public -모든 클래스에서이 방법을 사용할 수 있습니다. protected -동일한 패키지의 클래스와 모든 패키지의 서브 클래스가이 메소드를 사용할 수 있습니다. private -이 클래스 만이 메소드를 사용할 수 있습니다. no modifier ( "package private")-동일한 패키지의 클래스 만이 메소드를 사용할 수 있습니다. 자주 일어나는 …

6
열거 형은 코드 냄새가 아닌 경우는 언제입니까?
양도 논법 나는 객체 지향 실습에 관한 많은 모범 사례를 읽었으며, 읽은 거의 모든 책은 열거 형이 코드 냄새라고 말하는 부분을 가지고있었습니다. 열거 형이 유효 할 때 설명하는 부분을 놓친 것 같습니다. 따라서 열거 형이 코드 냄새 가 아니며 실제로 유효한 구조 가되는 지침 및 / 또는 사용 사례를 찾고 …

5
MVC : 컨트롤러가 단일 책임 원칙을 위반합니까?
단일 책임 원칙에 따르면 "클래스에는 변화가 한 가지 이유가 있어야합니다". MVC 패턴에서 컨트롤러의 작업은 뷰와 모델 사이를 중재하는 것입니다. 그것은 (예를 들어 통화에보기를 허용 GUI에서 사용자가 만든 보고서 작업을보기위한 인터페이스를 제공합니다 controller.specificButtonPressed()(예를 들어)를, 그리고 그것의 데이터를 조작하기 위해 또는 그것의 작업을 호출하는 모델의 해당 메소드를 호출 할 수 있습니다 model.doSomething()) …

4
공통 필드를 기본 클래스로 이동하는시기
저는 현재 두 개의 파생 클래스를, A그리고 B모두가 공통으로 필드를 가지고 있고 그것이 기본 클래스에 올라가 여부를 결정하기 위해 노력하고 있음. 이것은 기본 클래스에서 참조하지 않고, 다른 클래스가 파생 길 아래에 어떤 시점에서, 경우에 말을 결코 C, 그건이없는 _field1"최소 특권"(또는 무언가)의 주요되지는 경우에 위반 될 다음, 였다? public abstract class …

2
직렬화 및 직렬화 해제는 직렬화되는 클래스의 책임이어야합니까?
현재 C # .NET 응용 프로그램의 여러 모델 클래스의 (재) 디자인 단계에 있습니다. (MVC의 M과 같은 모델). 모델 클래스에는 이미 잘 디자인 된 많은 데이터, 동작 및 상호 관계가 있습니다. 파이썬에서 C #으로 모델을 다시 작성하고 있습니다. 오래된 파이썬 모델에서는 사마귀가 보인다고 생각합니다. 각 모델은 직렬화 방법을 알고 있으며 직렬화 …

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