«object-oriented» 태그된 질문

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

6
OOP 언어로 편향된 후 C 프로그래머로 생각하는 방법? [닫은]
이전에는 객체 지향 프로그래밍 언어 (C ++, Ruby, Python, PHP) 만 사용했으며 이제는 C를 배우고 있습니다. 언어 개념이없는 언어로 작업을 수행하는 올바른 방법을 찾기가 어렵습니다. '목적'. C에서 OOP 패러다임을 사용할 수 있다는 것을 알고 있지만 C- 아이디 오마 틱 방식을 배우고 싶습니다. 프로그래밍 문제를 해결할 때 가장 먼저해야 할 일은 …

5
자체 메소드 또는 다른 클래스를 통해 오브젝트를 저장 하시겠습니까?
객체를 저장하고 검색하려면 처리 할 다른 클래스를 만들어야합니까, 아니면 클래스 자체에서 처리하는 것이 더 낫습니까? 아니면 둘 다 섞을까요? OOD 패러다임에 따라 권장되는 것은 무엇입니까? 예를 들어 Class Student { public string Name {set; get;} .... public bool Save() { SqlConnection con = ... // Save the class in the …

6
“함수와 데이터 간의 긴밀한 결합”이 나쁜 이유는 무엇입니까?
나는이 인용문을 " The Clojure의 기쁨 "에서 찾을 수있다 . 32, 그러나 누군가 지난 주 저녁에 나에게 똑같은 것을 말했고 나는 다른 곳에서도 들었습니다. [A] 객체 지향 프로그래밍의 단점은 함수와 데이터 사이의 긴밀한 연결입니다. 응용 프로그램에서 불필요한 결합이 나쁜 이유를 이해합니다. 또한 객체 지향 프로그래밍에서도 가변 상태와 상속을 피해야한다는 것이 …

7
솔로 주니어 개발자로 진행 상황을 검토하려면 어떻게해야합니까?
저는 현재 개인 개발자로 2 인 회사에서 일하고 있습니다. 상사는 고객을 데려 와서 일부 png 디자인 템플릿을 모아서 나에게 넘겨줍니다. 이 시스템은 잘 작동하고 정말 즐기고 있습니다. 내가 작업하는 프로젝트 유형은 중소 기업을위한 것이며 대개 CMS 시스템을 원합니다. 처음부터 개발하여 고객이 카테고리, 태그, 제품 등을 추가 / 편집 / 제거 …

5
아이디 또는 객체를 전달 하시겠습니까?
도메인 엔티티를 얻기 위해 비즈니스 로직 메소드를 제공 할 때 매개 변수가 오브젝트 또는 ID를 승인해야합니까? 예를 들어 다음과 같이해야합니다. public Foo GetItem(int id) {} 아니면 이거: public Foo GetItem(Foo foo) {} 나는 객체를 전체적으로 전달하는 것을 믿지만 객체를 얻고 ID 만 알고있는이 경우는 어떻습니까? 호출자가 빈 Foo를 작성하고 ID를 …

11
생성자 전용 서브 클래스 : 안티 패턴입니까?
나는 동료와 토론을하고 있었고, 결국 서브 클래 싱의 목적에 대해 직관이 상충되었습니다. 내 직감은 서브 클래스의 주요 기능이 부모의 가능한 범위의 값을 표현하는 것이라면 아마도 서브 클래스가 아니어야한다는 것입니다. 그는 반대 직관을 주장했다. 서브 클래 싱은 객체의 "특정"성을 나타내므로 서브 클래스 관계가 더 적절하다. 직관을보다 구체적으로 설명하기 위해 부모 클래스를 …

9
객체 지향 코드를 작성할 때 항상 디자인 패턴을 따라야합니까?
객체 지향 프로그램에 대해 생각할 수있는 디자인 패턴이 있습니까? 최근에으로 Door클래스 의 구현을 보았 기 때문에 이것을 묻습니다 Lock. 테스트의 일부였으며 코드가 Null Object 패턴을 따른다고 답했습니다. class Lock { public: virtual void close() = 0; virtual void open() = 0; virtual bool is_open() const = 0; virtual ~Lock() { …

11
추상 클래스 / 메소드가 더 이상 사용되지 않습니까?
나는 많은 추상 클래스 / 메소드를 만들었습니다. 그런 다음 인터페이스를 사용하기 시작했습니다. 인터페이스가 추상 클래스를 더 이상 사용하지 않는지 확실하지 않습니다. 완전히 추상적 인 수업이 필요하십니까? 대신 인터페이스를 작성하십시오. 구현이 추상 클래스가 필요하십니까? 인터페이스를 만들고 클래스를 만듭니다. 클래스를 상속하고 인터페이스를 구현하십시오. 또 다른 이점은 일부 클래스는 부모 클래스가 필요하지 않지만 …

17
프로그래밍 기술에 대해 더 확신을 가질 수있는 방법은 무엇입니까? [닫은]
프로그래밍은 나에게 외계인이 아니다. 내가 12 살일 때 마크 업 (HTML, 이제 제발 웃지 말아주세요)을 시작하고 13 살일 때 약간의 베이직 (이 시점에서는 순서도, 의사 코드에 대해 많이 알고있었습니다)에 들어갔습니다. 고등학교의 생물학 때문에 C, Java 등과 같은 언어에 대한 "실제"프로그래밍 지식이 누락되었습니다. 나는 UG BE (BS와 유사하지만 더 이론적으로)를 위해 …

5
메소드를 호출 할 수 있다는 것을 정의하는 것보다 메소드를 정의하는 것이 어떻게 강력한 약속보다 우선 할 수 있습니까?
보낸 사람 : http://www.artima.com/lejava/articles/designprinciples4.html Erich Gamma : 10 년이 지난 후에도 여전히 그렇습니다. 상속은 행동을 바꾸는 멋진 방법입니다. 그러나 우리는 서브 클래스가 그것을 재정의하는 메소드가 호출되는 컨텍스트에 대해 쉽게 가정 할 수 있기 때문에 취하기 쉽다는 것을 알고 있습니다. 플러그인하는 서브 클래스 코드가 호출되는 암시 적 컨텍스트로 인해 기본 클래스와 …

8
객체의 기능은 구현하는 인터페이스에 의해 독점적으로 식별되어야합니까?
C #의 is연산자와 Java의 instanceof연산자를 사용하면 개체 인스턴스가 구현 한 인터페이스 (또는 기본 클래스의 기본 클래스)를 분기 할 수 있습니다. 인터페이스가 제공하는 기능을 기반으로 고수준 분기에이 기능을 사용하는 것이 적절합니까? 아니면 기본 클래스가 객체가 가진 기능을 설명하기위한 인터페이스를 제공하기 위해 부울 변수를 제공해야합니까? 예: if (account is IResetsPassword) ((IResetsPassword)account).ResetPassword(); else …

2
무제한의 매개 변수를 사용하는 메소드가 종종 더 적은 매개 변수로 과부하를 정의하는 이유는 무엇입니까?
예를 들어 System.IO.Path.Combine.NET 의 메서드에는 다음과 같은 오버로드가 있습니다. Combine(params String[]) Combine(String, String) Combine(String, String, String) Combine(String, String, String, String) 마지막 세 가지의 요점은 무엇입니까? 첫 번째 params키워드 는 키워드를 사용하여 자세히 살펴 보는 것처럼 모든 것을 다룹니다 . 이전 버전과의 호환성에 대한 논쟁은 Combine(String, String)변형이 .NET 4까지의 유일한 버전 …

8
실제로 객체 지향 프로그래밍을 언제 사용합니까? [닫은]
기본적으로 문자열을 조작하는 Python으로 프로그램을 작성 중이며 OOP 원칙을 사용하여 수행해야하는지 궁금합니다. 그는 코드에 대해 상관하지 않는다 말하지 않았다 클라이언트는, 그는 단지 것은이 원하는 일 . 객체 지향 코드는 정의에 의한 것이 아니며 반대로 비 OO 코드는 정의에 의한 엉터리가 아닙니다. 내가 묻는 질문은 다소 의견을 기반으로 할 수 있지만 …

5
Java Swing 클래스는 언제 확장해야합니까?
상속 구현에 대한 나의 현재 이해는 IS-A 관계가 존재 하는 경우에만 클래스를 확장해야한다는 것 입니다. 부모 클래스가 다른 기능을 가진 더 구체적인 자식 유형을 가질 수 있지만 부모에서 추상화 된 공통 요소를 공유합니다. Java 교수가 우리에게 권장하는 것이 있기 때문에 이해하는 것에 의문을 제기하고 있습니다. 그는 JSwing우리가 수업 시간에 구축 …

5
다른 클래스의 ClassCollection을 만드는 것이 좋은 방법입니까?
Car수업 이 있다고 말합니다 . public class Car { public string Engine { get; set; } public string Seat { get; set; } public string Tires { get; set; } } 우리는 주차장에 대한 시스템을 만들고 있다고 말하고 많은 Car수업 을 사용할 것이므로 수업을 만들면 다음 CarCollection과 같은 몇 가지 …

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