«object-oriented» 태그된 질문

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

3
Dependency Inversion Principle : 다른 사람에게“높은 수준의 정책”과“낮은 수준의 세부 사항”을 정의하는 방법은 무엇입니까?
나는 (주로 후배) 동료들에게 의존성 역전 원리를 설명하려고합니다. 소프트웨어에서 어떤 정책이 "고수준 정책"이고 어떤 정책이 "저수준 세부 사항"인지 어떻게 정의 할 수 있습니까? 예를 들어 소프트웨어가 여러 비즈니스 응용 프로그램의 워크 플로를 자동화하는 경우 워크 플로 자동화가 고급 정책이고 비즈니스 응용 프로그램이 세부 정보라고 말하는 이유는 무엇입니까?

1
타사 코드를 포장하여 소비자를 단위 테스트하는 유일한 솔루션입니까?
단위 테스트를 수행하고 있으며 클래스 중 하나에서 메소드 중 하나에서 메일을 보내야하므로 생성자 주입을 사용하여 Zend_MailZend 프레임 워크 에있는 클래스 인스턴스를 주입합니다 . 이제 일부 사람들은 라이브러리가 충분히 안정적이며 자주 변경되지 않으면 랩핑 할 필요가 없다고 주장합니다. 따라서 그것이 Zend_Mail안정적이며 변경되지 않고 내 요구에 완전히 부합 한다고 가정하면 래퍼가 필요하지 …

5
용어 "순수한 OO 언어"에 대한 공식적인 정의?
나는 그런 질문을 던질 SO 형제들 사이에서 더 좋은 곳을 생각할 수 없습니다. 원래 저는 "파이썬이 순수한 OO 언어입니까?" 그러나 용어를 정의하는 동안 사람들이 겪는 어려움과 불편 함을 고려하면서 용어 자체에 대한 명확한 정의를 얻는 것으로 시작하기로 결정했습니다. 앨런 케이 (Alan Kay) 박사의 서신 으로 시작 하는 것이 오히려 공평 …

5
기능적 프로그래밍 가독성
폐쇄되었습니다 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 2 년 전 . 나는 기능적인 언어를 배우기 전에 기억하기 때문에 이것에 대해 궁금합니다. 모두 끔찍하고 끔찍하게 읽을 수 없다고 생각했습니다. …

5
Go-like 언어에 비해 클래식 OOP의 장점
언어 디자인과 "이상적인"프로그래밍 언어에 필요한 요소에 대해 많은 생각을 해왔으며 Google의 Go를 연구하면서 일반적인 지식에 대해 의문을 갖게되었습니다. 특히, Go는 실제로 객체 지향 언어 의 구조 를 갖지 않고 객체 지향 프로그래밍의 흥미로운 이점을 모두 가지고있는 것 같습니다 . 클래스는없고 구조 만 있습니다. 클래스 / 구조 상속이없고 구조 임베딩 만 …

5
단위 테스트 절차 코드가 효과적입니까?
현재 프로젝트에서 코드에 스며드는 버그를 피하기 위해 단위 테스트를 개발주기에 통합하려는 능력이 있습니다. 문제는 스파게티 코드가 95 %의 절차 적이며 단위 테스트를 한 적이 없습니다 (단위 테스트에 대한 모든 경험은 OOP 코드에 대한 것입니다) 요컨대, 현재 코드베이스로 단위 테스트를 진행하는 것이 현명한 것인가, 아니면 응용 프로그램이 적절한 OOP 프레임 워크로 …

7
싱글 톤, 추상 클래스 및 인터페이스의 역할은 무엇입니까?
나는 C ++에서 OOP를 공부하고 있는데,이 세 가지 개념의 정의를 알고 있지만 그것을 언제 어떻게 사용하는지 실제로는 알 수 없습니다. 이 클래스를 예로 들어 보겠습니다. class Person{ private: string name; int age; public: Person(string p1, int p2){this->name=p1; this->age=p2;} ~Person(){} void set_name (string parameter){this->name=parameter;} void set_age (int parameter){this->age=parameter;} string get_name (){return …

2
액터 모델에 대한 나의 설명이 맞습니까?
내가 이해한다면, 액터 모델은 오브젝트 모델과 비슷하지만 약간의 차이점이 있습니다. 모든 객체는 별도의 스레드로 생성되며 수천 개의 객체가 있어도 문제가되지 않습니다. 액터는 함수를 호출하고 반환 값을 가져 오는 대신 상호 작용하지 않고 메시지를 보내고받습니다. 해당 모델을 위반하지 않으면 앱은 경쟁 조건의 위험없이 전체 기능에 동시성을 사용합니다. OO에서 할 수있는 모든 …

3
SOLID 원리 적용
저는 SOLID 설계 원칙에 익숙하지 않습니다 . 나는 그들의 원인과 이점을 이해하지만 SOLID 원칙을 사용하기위한 실제 연습으로 리팩토링하려는 더 작은 프로젝트에는 적용하지 않습니다. 완벽하게 작동하는 응용 프로그램을 변경할 필요는 없지만 어쨌든 리팩터링하여 향후 프로젝트의 디자인 경험을 얻고 싶습니다. 응용 프로그램에는 다음과 같은 작업이 있습니다 (실제로는 그 이상이지만 간단하게 유지하십시오). 데이터베이스 …

5
객체 지향 프로그램을 유한 상태 머신으로 볼 수 있습니까?
이것은 철학적 / 기본적인 질문 일지 모르지만, 나는 그것을 명확히하고 싶습니다. 내가 이해하기에 유한 상태 머신은 시스템의 출력이 전류 입력뿐만 아니라 시스템의 현재 상태에 의존하는 시스템을 모델링하는 방법입니다. 또한, 이름에서 알 수 있듯이 유한 상태 머신은 각각의 상태와 동작으로 유한 N 개의 상태로 분할 될 수 있습니다. 이것이 정확하다면, 데이터와 …

7
불변의 주위에 내 머리를 얻기
나는 객체 지향 프로그래밍에 익숙하지 않으며, 이해하는 데 시간이 걸리는 한 가지 개념은 불변성입니다. 어젯밤에 전구가 꺼 졌다고 생각하지만 확인하고 싶습니다. 불변의 객체를 변경할 수 없다는 진술을 보았을 때, 예를 들어 다음을 수행 할 수 있기 때문에 당황합니다. NSString *myName = @"Bob"; myName = @"Mike"; 여기서 방금 변경 불가능한 유형 …

7
압도적 인 코드를 관리 가능한 덩어리로 나누는 가장 좋은 방법은 무엇입니까?
대규모 프로젝트가 일정 수준의 복잡성에 도달하면 계속해서 큰 프로젝트에 압도되고 있습니다. 프로젝트의 특정 지점에 도달하면 진행률이 크롤링되는 속도가 느려지고 계속 단계를 다시 추적하고 모든 종류의 혼란을 정리합니다. 나는이 약점 때문에 리팩토링에 정말 능숙했습니다. 그리고 항상 개체를 작고 관리하기 쉬운 개체로 분해하려고합니다. 이 약점은 아마도 물건을 올바르게 디자인하는 데 너무 많은주의를 …

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

4
FP와 OO 직교?
나는 여러 번 들었고 FP와 OO가 직교한다는 생각을 이해하고 확인하려고 노력하고 있습니다. 우선, 두 개념이 직교한다는 것은 무엇을 의미합니까? FP는 가능한 한 불변성과 순도를 권장합니다. OO는 상태와 돌연변이 (약간의 체계화 된 명령형 프로그래밍 버전)를 위해 만들어진 것 같습니다. 그리고 나는 객체가 변경 불가능하다는 것을 알고 있습니다. 그러나 OO는 나에게 상태 …

6
관계를 반대로해서 타원 문제를 해결할 수 있습니까?
갖는 Circle확장Ellipse 휴식에게 Liskov Substition 원리 즉, 당신은 X와 Y는 독립적으로 타원을 그리는 설정할 수 있지만 X는 항상 원 대한 Y와 동일해야합니다 : 그것은 사후 조건을 수정하기 때문에. 그러나 Circle이 타원의 하위 유형이 됨으로써 발생하는 문제가 아닌가? 우리는 관계를 되돌릴 수 없었습니까? 따라서 Circle은 수퍼 타입 setRadius입니다. 단일 방법이 있습니다. …

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