2009-07-24 2 views
5

저는 지금 기능적 프로그래밍 개념을 배우고 있으며, 전문적으로 저는 Asp.net 개발자입니다. 그러나 asp.net을 사용하면 너무 자주 코드의 객체 속성을 변경할 수 있습니다. 기능 프로그래밍은 변경 불가능한 객체를 기반으로합니다. 그리고이 개념을 적용하여 텍스트 상자의 가치를 변경하는 것은 매우 고통 스러울 것입니다. 또한 FormView의 ItemInserted 인수 같은 핸들러는 개발자가 True/false로 변경할 수있는 KeepInInsertMode와 같은 개발자가 사용할 수 있습니다.이 경우 FP에 대한 입력 인수를 수정합니다. 귀하의 의견 frnds. 소프트웨어 세계에서 UI를 올바르게 처리하는 방법은 무엇입니까? FP 또는 OOPS.기능적 프로그래밍에 기반한 UI

답변

2

"올바른"방법을 묻지 만 이것은 공학적 문제이며 수학적 문제는 아닙니다. 트레이드 오프가 존재하는데, 어떤 형태의 맛이 작용하며, 완벽한 솔루션을 제공하는 원 사이즈는 없을 것입니다.

asp.net이 특정 방식으로 작업하기 때문에 모두 OO 프레임 워크가 동일한 디자인 결정을 내렸음을 의미합니다. 다른, 그러나 아직도 OO 접근을위한 Ruby on Rails, 또는 Smalltalk Seaside 웹기구를보십시오. 예를 들어 ASP.net MVC조차도 바닐라 ASP.net과는 다소 다른 접근 방식을 취합니다.

UI 처리를위한 FP 프레임 워크에서도 마찬가지입니다. 현재 실험적으로 보입니다. 즉 모든 디자인 옵션이 OO 프레임 워크만큼 많이 검토 된 것은 아니라고 생각합니다. 살펴보고 싶다면 functional reactive programming (대개 대화식 애니메이션 용), Links (학업 - LINQ와 공통점이있는 부분) 또는 LiveLab's reactive framework - 각기 다른 측면의 문제를 강조하는 것이 좋습니다.

여기에서 배울 점이 많으며 아마도 가장 쉬운 것은 아마도 쉬운 대답이 없을 것입니다 ...

2

기능적 패러다임을 사용하면 다른 방식으로 사고하게됩니다. "이 버튼을 클릭하면 어떻게 될지 궁금하지 않을 것입니다."버튼 클릭 후 내 응용 프로그램의 새로운 상태는 무엇입니까?

'새로운 상태'는 일부 GUI 작업을 수행하기 위해 소프트웨어의 프리젠 테이션 계층에서 사용됩니다.

"상태 -> 이벤트 -> 상태"기능을 가지게 될 것이며 이는 OO의 "묻지 말고"패러다임보다 훨씬 예측할 수 있습니다.

그러나 더 정교 할 수도 있습니다.

관련 문제