«object-oriented-design» 태그된 질문

객체 지향 디자인은 소프트웨어 문제를 해결하기 위해 객체 상호 작용 시스템을 계획하는 프로세스입니다.

4
비즈니스 객체 클래스 디자인의“완전한 공개”사고 방식에 반박하는 방법
우리는 비즈니스 객체에 대해 많은 단위 테스트 및 리팩토링을 수행하고 있으며 다른 동료와 클래스 디자인에 대한 의견 이 매우 다른 것 같습니다 . 내가 팬이 아닌 예제 클래스 : public class Foo { private string field1; private string field2; private string field3; private string field4; private string field5; public Foo() …

2
데이터 지향 인터페이스 프로그래밍
코드베이스의 일부는 다음과 같은 스타일로 작성되었습니다. // IScheduledTask.cs public interface IScheduledTask { string TaskName { get; set; } int TaskPriority { get; set; } List<IScheduledTask> Subtasks { get; set; } // ... several more properties in this vein } // ScheduledTaskImpl.cs public class ScheduledTaskImpl : IScheduledTask { public string TaskName …

8
데이터베이스에서 잘못된 널 항목을 방지하기위한 설계 및 실습
내 프로그램의 한 부분은 처리를 위해 데이터베이스의 많은 테이블과 열에서 데이터를 가져옵니다. 일부 열은 null이지만 현재 처리 컨텍스트에서 오류 일 수 있습니다. 이것은 "이론적으로"일어나지 않아야하는데, 그렇게된다면 그것이 나쁜 데이터 나 코드의 버그를 가리 킵니다. 어떤 필드가 어떤지에 따라 오류의 심각도가 다릅니다 null. 즉, 일부 필드의 경우 처리를 중지하고 누군가에게 통지해야합니다. …

5
추상화에 따라 중요한 단점이 있습니까?
SAP (Stable Abstractions Principle)에서이 위키를 읽고있었습니다 . SAP는 패키지가 안정적 일수록 더 추상적이어야한다고 말합니다. 이것은 패키지가 덜 안정적이고 (변경 될 가능성이 높으면) 더 구체적이어야 함을 의미합니다. 내가 실제로 이해하지 못하는 것은 이것이 사실이어야하는 이유입니다. 확실하게 안정성에 관계없이 모든 경우에 추상화에 의존하고 구체적인 구현을 숨겨야합니까?

2
스칼라에서 자기 유형과 형질 상속의 차이점은 무엇입니까?
Google 검색시이 주제에 대한 많은 답변이 나타납니다. 그러나 나는이 두 기능의 차이점을 잘 설명하는 사람이 있다고 생각하지 않습니다. 한 번 더 시도하고 싶습니다. 구체적으로 ... 자기 유형으로 할 수 있고 상속하지 않고 할 수있는 것은 무엇입니까? 나에게, 둘 사이에 정량화 할 수있는 물리적 차이가 있어야한다. 그렇지 않으면 명목상 다르다. 특성 …

4
List 인터페이스가 유출되는 추상화입니까?
내가 포함하는 변수가 있다면 또는 List다른 유형의 많은 객체를 포함 할 수 있습니다 . a 와 an 의 차이 는 꽤 큽니다. 방법의 큰 O 행동은 크게 다릅니다. 예를 들어를 정렬 한 다음 이진 검색을 수행하여 사용하는 것은 완벽 하지만 괜찮 습니다 .ArrayListLinkedListLinkedListArrayListListArrayListLinkedList

7
객체 방향에 필요한 기능은 무엇입니까?
언어 또는 라이브러리가 '객체 지향'으로 정의하기 위해 제공해야하는 기능이 정확히 무엇인지 궁금합니다. 객체 지향 은 적절한 기능을 가진 범용 프로그래밍 언어 에서 어느 정도 달성 될 수 있습니까? 아니면 객체 지향 프로그래밍을 지원한다고 구체적으로 광고하는 언어로만 달성 할 수 있습니까? 예를 들어 다음 C 코드를보십시오. SDL_Surface* screen = SDL_SetVideoMode( 640, …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.