«object-oriented» 태그된 질문

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


10
다운 캐스팅을 올바르게 사용하는 것은 무엇입니까?
다운 캐스팅은 기본 클래스 (또는 인터페이스)에서 서브 클래스 또는 리프 클래스로 캐스트하는 것을 의미합니다. 다운 캐스트의 예로는 System.Object다른 유형 으로 캐스트 할 수 있습니다 . 다운 캐스팅은 인기가없고 코드 냄새 일 수 있습니다. 객체 지향 교리는 예를 들어 다운 캐스팅 대신 가상 또는 추상 메서드를 정의하고 호출하는 것을 선호합니다. 다운 …

10
모든 정적 메소드를 사용할 수 있습니까?
아래 두 UpdateSubject 메소드의 차이점은 무엇입니까? 엔터티에서 작업하려는 경우 정적 메서드를 사용하는 것이 좋습니다. 어떤 상황에서 비 정적 방법을 사용해야합니까? public class Subject { public int Id {get; set;} public string Name { get; set; } public static bool UpdateSubject(Subject subject) { //Do something and return result return true; } …

11
단일 책임 원칙 명확화
단일 책임 원칙에 따르면 클래스는 한 가지만 수행해야합니다. 어떤 경우는 꽤 분명합니다. 그러나 특정 추상화 수준에서 볼 때 "하나의 것"처럼 보이는 것이 낮은 수준에서 볼 때 여러 가지 일 수 있기 때문에 다른 것들은 어렵습니다. 또한 단일 책임 원칙이 더 낮은 수준에서 과도하게 분리되고 자세한 라비올리 코드를 준수하면 더 많은 …

11
이 클래스 디자인이 단일 책임 원칙을 위반합니까?
오늘 나는 누군가와 논쟁했다. 빈혈 도메인 모델이 아닌 리치 도메인 모델의 이점을 설명했습니다. 그리고 나는 간단한 수업으로 내 요점을 시연했습니다. public class Employee { public Employee(string firstName, string lastName) { FirstName = firstName; LastName = lastname; } public string FirstName { get private set; } public string LastName { get; …

11
프로그램을 여러 클래스로 나누는 것이 좋은 이유는 무엇입니까? [닫은]
저는 여전히 고등학교 (10 학년 입학) 학생이며 학교에서 실제 컴퓨터 과정을 수강하지 않았습니다. 내가 지금까지 한 모든 일은 책을 통해서입니다. 그 책들은 상속과 같은 개념을 가르쳐 주었지만 프로그램을 여러 클래스로 나누는 것이 어떻게 도움이됩니까? 책은 나에게 말하지 않았다. 나는 최근 프로젝트 때문에 주로 이것을 묻습니다. 아케이드 비디오 게임입니다. 일부 사람들이 …

14
MVC가 OOP가 아닙니까?
OOP의 기본 아이디어는 단일 개체 (객체)에서 데이터와 동작을 통합하는 것입니다. 절차 적 프로그래밍에는 데이터를 수정하는 별도의 알고리즘과 데이터가 있습니다. Model-View-Controller 패턴에서 데이터와 로직 / 알고리즘은 각각 별개의 엔터티, 모델 및 컨트롤러에 배치됩니다. 동등한 OOP 방식에서 모델과 컨트롤러를 동일한 논리 엔티티에 배치해서는 안됩니까?

8
ORM은 안티 패턴입니까? [닫은]
나는 ORM과 그 장단점에 대해 동료와 매우 자극적이고 면담을 가졌습니다. 제 생각에 ORM은 가장 드문 경우에만 유용합니다. 적어도 내 경험으로는. 그러나 나는 지금 내 자신의 주장을 열거하고 싶지 않다. ORM에 대해 어떻게 생각하십니까? 장단점은 무엇입니까?

8
“신의 대상”이 잘못되었다는 것을 어떻게 증명하거나 반증합니까?
문제 요약 : 간단히 말해서, 나는 코드베이스와 개발 팀을 물려 받았으며 대체 할 수 없으며 God Objects의 사용은 큰 문제입니다. 계속해서, 나는 우리가 일을 리팩토링하기를 원하지만 "더 쉬워지기 때문에"God Objects로 모든 것을하고 싶은 팀으로부터 푸시 백을 받고 있습니다. 이것은 리팩토링을 할 수 없다는 것을 의미합니다. 나는 수년간의 개발 경험을 인용하면서, …

19
OOP는 코드 재사용 약속을 이행합니까? 코드 재사용을위한 대안은 무엇입니까?
아마도 객체 지향 패러다임을 사용하는 가장 큰 가능성은 코드 재사용 일 것입니다. 이것이 달성되었다는 일부 논쟁. 왜 달성되지 않았습니까? OOP가 코드를 정의한대로 코드를 재사용하여 프로젝트의 생산성을 높일 수 있습니까? 아니면 더 관리하기 쉬운가? 아니면 유지 보수가 더 쉬워? 아니면 더 많은 품질로? 아마도 우리는 코드 재사용이 좋은 것이라는 데 모두 …

17
OO 프로그래밍은 채용 회사가 배치하는 것만 큼 중요합니까? [닫은]
석사 과정을 마치고 (계산 중) 직업을 신청하고 있습니다. 많은 회사에서 특히 객체 방향에 대한 이해를 요구하는 것을 보았습니다. 인기있는 인터뷰 질문은 상속, 다형성, 접근 자 등에 관한 것입니다. OO가 정말 중요합니까? 나는 C에서 프로그래밍 작업에 대한 인터뷰를했고 인터뷰의 절반은 OO였습니다. 실제 응용 프로그램을 개발하는 실제 환경에서는 거의 항상 객체 방향이 …

1
믹스 인 또는 특성이 일반 다중 상속보다 어떻게 더 낫습니까?
C ++에는 일반 다중 상속이 있으며 많은 언어 디자인이 위험하다고 금지합니다. 그러나 Ruby 나 PHP와 같은 일부 언어는 이상한 구문을 사용하여 동일한 작업을 수행하고이를 믹스 인 또는 특성이라고합니다. 믹스 인 / 특성은 일반 다중 상속보다 남용하기가 어렵다는 것을 여러 번 들었습니다. 구체적으로 덜 위험하게 만드는 것은 무엇입니까? 믹스 인 / …

9
클래스의 메소드가 자체 getter 및 setter를 호출해야합니까?
내가 일하는 곳에서 다음과 같은 일을하는 많은 수업을 봅니다. public class ClassThatCallsItsOwnGettersAndSetters { private String field; public String getField() { return field; } public void setField(String field) { this.field = field; } public void methodWithLogic() { setField("value"); //do stuff String localField = getField(); //do stuff with "localField" } } 이것을 …

20
객체 지향 프로그래밍이 실제 세계를 실제로 모델링합니까? [닫은]
나는 객체 지향 프로그래밍이 실제 세계를 모델링하는 것을 기반으로 반복되는 것을 보았습니다. 비즈니스 계층 외부의 것은 사실이 아닌 것 같습니다. 내 GUI 클래스 / 데이터 액세스 클래스는 실제로는 아무 것도 모델링하지 않습니다. 비즈니스 계층에서도 실세계 대상이 아닌 관찰자, 관리자, 공장 등의 수업이 있습니다. 캡슐화와 같은 것들을 활용하기 위해 클래스를 디자인하려고하지만 …

5
IOC 컨테이너, OOP 원칙 위반
IOC 컨테이너의 목적은 무엇입니까? 그 이유를 다음과 같이 단순화 할 수 있습니다. OOP / SOLID 개발 원칙을 사용하면 Dependency Injection이 복잡해집니다. 여러 레벨에 대한 종속성을 관리하고 구성을 통해 종속성을 재귀 적으로 전달하는 최상위 진입 점이 있거나 필요에 따라 종속성을 빌드하는 팩토리 / 빌더 패턴 및 인터페이스에 다소 중복 된 코드가 …

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