OO 원칙을 유지하기 위해 노력하는 동안 모든 것이 너무 인위적이거나 부자연스럽게 보입니다.웹 응용 프로그램이 실제로 객체 지향적 일 수 있습니까?
답변
상태 정보를 유지하기위한 구조로 객체를 생각하면 "객체 지향"의 정의는 웹 요청의 무국적 속성에 의해 부담이됩니다. 그러나 상태 비 저장 객체는 여전히 객체이며 웹 응용 프로그램은 해당 환경 내에서 객체 지향 설계 원리를 따를 수 있습니다.
예, 이것이 제가 의미했던 것입니다. – zsharp
제 조언은 OO 원칙에 관해 너무 독단적이지 않아야한다는 것입니다. 그것들은 잘 작동하지만 때로는 사람들이 OO 원칙을 유지하기 위해 노력하고 있다고 말하면 실제로는 적절하지 않을 때에도 모든 것을위한 수업을 만들고 있다는 것을 의미 할 수 있습니다. 수학적 배경을 가진 사람이 부자연 스럽다고 생각할지라도 "x = 3"과 같은 것은 자연스럽지 않습니다.
기존 OO 웹 앱과 디자인 패턴을 살펴볼 수도 있습니다. 일반적인 객체 지향 디자인 패턴은 Ruby on Rails와 Django가 지원 (거의 시행)되는 MVC 패턴입니다. MVC를 검색하십시오.
원래의 OO-MVC는 GUI에서만 의미가 있지만,보다 일반적인 웹 MVC는 OO보다 계층화되어 있습니다. – Javier
하비에르 (Javier), 레이어링과 관련하여이 부분을 자세히 설명해 주시겠습니까? – zsharp
GUI-MVC (SmallTalk에서 널리 사용됨)는 모듈 형 및 OOP였습니다. 각 모듈에는 세 개의 객체가 밀접하게 결합되어 필요시 인스턴스화 된 단일 모듈을 형성합니다. web-MVC, OTOH는 오브젝트가 아닌 3 개의 레이어로, 각 파트는 일부 부분 (저장, 표현 및 제어 흐름)에 대한 더 높은 수준의 액세스를 제공하기 위해 일부 측면을 추상화합니다. 그들은 더 큰 하위 시스템으로 구성되지 않고 시각적 인 요소를 나타내지 않고 함께 전체 앱 (또는 하위 애플리케이션)을 관리합니다. 전혀 다른 것, 아마도 철학적 인 수준에서만 관련이있을 수 있습니다. 디자인 수준이 아닙니다. – Javier
- 1. iPhone 응용 프로그램에서 SOAP 웹 서비스 처리 - 객체 지향적 방법
- 2. T-SQL이 객체 지향적 인 라이브러리가 있습니까?
- 3. SDL - 객체 지향적 인 방법
- 4. 추적 웹 응용 프로그램이 있습니까?
- 5. 떠 다니는 버그로 인해 실제로 어떤 종류의 웹 응용 프로그램이 영향을받을 수 있습니까?
- 6. 고급 프로그래밍 언어는 객체 지향적 인 반면 저수준 언어는 절차 지향적 인 경향이 있습니까?
- 7. 실제로 컴파일 된 프로그램이 실제로 바이너리입니까?
- 8. JavaScript가 아닌 웹 응용 프로그램이 있습니까?
- 9. tomcat 웹 응용 프로그램이 언제 중단되었는지 어떻게 알 수 있습니까?
- 10. 웹 응용 프로그램이 Windows 레지스트리에 액세스하여 수정할 수 있습니까?
- 11. WebSetup에 여러 웹 응용 프로그램이 포함될 수 있습니까?
- 12. UIWebView의 웹 응용 프로그램이 기본 저장소에 액세스 할 수 있습니까
- 13. 리디렉션을 사용하지 않고 다른 웹 응용 프로그램이 인증되었는지 여부를 웹 응용 프로그램에서 어떻게 알 수 있습니까?
- 14. 응용 프로그램이 Explorer에서 트리거 될 수 있습니까?
- 15. __del__에서 객체 닫기/삭제를 실제로 수행 할 수 있습니까?
- 16. 응용 프로그램이 웹 응용 프로그램인지 확인하는 방법
- 17. 응용 프로그램이 언제 게임이 될 수 있습니까?
- 18. 객체 지향 분석 및 디자인 : 프로세스가 클래스 일 수 있습니까?
- 19. 실제 SharpKit 응용 프로그램이 있습니까?
- 20. 내 Windows 응용 프로그램이 실제로 사용하는 메모리는 얼마입니까?
- 21. Linq와 i4o와 같은 프로젝트는 객체 지향적 인 DB를 관계형 DB에 대한 대안으로 만들 수 있습니까?
- 22. 3 일 후 다중 스레드 응용 프로그램이 중지됩니다.
- 23. 얼마나 많은 응용 프로그램 세션 데이터를 실제로 저장할 수 있습니까?
- 24. 주소록을 디자인 할 때 가장 객체 지향적 인 방법은 무엇입니까?
- 25. 실제로 CouchDB를 데스크탑 응용 프로그램에 사용할 수 있습니까?
- 26. C# : 이벤트 처리기를 실제로 "좋은 일"이라고 명시하고 있습니까?
- 27. Qt :: 응용 프로그램이 비활성 상태 일 때 도구 창이 나타납니다.
- 28. 응용 프로그램이 다른 응용 프로그램에서 창 소유권을 가질 수 있습니까?
- 29. 유휴 상태 일 때 응용 프로그램이 작동을 멈 춥니 다.
- 30. 응용 프로그램이 절전 모드 일 때 음성을 감지하는 방법은 무엇입니까?
정교하게하시기 바랍니다. – DevinB
아니면 실제 질문을하는 것이 좋습니다. – cgp
나는 나의 코멘트가 실제로 꽤 모호하다는 것을 깨달았다 (아이러니 한 아이러니). 귀하의 OO 코드가 어떤 방식으로 고안되었거나 부 자연스러운 것으로 보입니까? 어떤 디자인 패턴을 사용하려고하며 어떻게 실패하고 있습니까? – DevinB