2009-07-24 80 views
5

Tôi đang học các khái niệm lập trình chức năng hiện nay một ngày và chuyên nghiệp tôi là nhà phát triển Asp.net. Nhưng asp.net làm cho bạn thay đổi các thuộc tính của các đối tượng quá thường xuyên trong mã phía sau. Lập trình chức năng dựa trên các đối tượng bất biến. Và áp dụng khái niệm này để thay đổi giá trị của một hộp văn bản sẽ rất đau đớn. Cũng trong một số trình xử lý sự kiện như đối số ItemInserted của FormView được tạo sẵn cho nhà phát triển như KeepInInsertMode mà nhà phát triển có thể thay đổi thành true/false và trong trường hợp này chúng tôi đang sửa đổi các đối số đầu vào chống lại FP. Frnds suy nghĩ của bạn. Cách xử lý giao diện người dùng chính xác trong thế giới phần mềm là gì? FP hoặc OOPS.Giao diện người dùng dựa trên lập trình chức năng

Trả lời

2

Bạn yêu cầu cách "đúng", nhưng đây là vấn đề kỹ thuật, không phải là vấn đề toán học. Có sự cân bằng, một số hình thức của hương vị đi vào chơi, và nó không chắc rằng có một kích thước phù hợp với tất cả các giải pháp hoàn hảo.

Ngoài ra, chỉ vì asp.net làm điều gì đó theo một cách nhất định, điều này có nghĩa là tất cả khung OO đã đưa ra quyết định thiết kế giống nhau. Hãy xem Ruby on Rails hoặc khung công tác web Smalltalk Seaside để có cách tiếp cận khác, nhưng vẫn là OO. Ngay cả ASP.net MVC ví dụ có một cách tiếp cận hơi khác so với ASPA vani. Điều này cũng đúng với các khung công tác FP để xử lý giao diện người dùng, với cảnh báo bổ sung rằng hiện tại chúng dường như có nhiều thử nghiệm hơn - nghĩa là tôi không nghĩ rằng tất cả các tùy chọn thiết kế đã được khám phá nhiều như đối với các khuôn khổ OO. Nếu bạn muốn xem, tôi khuyên bạn nên xem xét functional reactive programming (chủ yếu cho hoạt ảnh tương tác), Links (học thuật - có các điểm chung với LINQ) hoặc LiveLab's reactive framework - mỗi điểm nhấn mạnh khía cạnh khác nhau của sự cố.

Có nhiều điều cần tìm hiểu ở đây, điều quan trọng nhất có thể là không có câu trả lời dễ dàng ...

2

Sử dụng mô hình chức năng sẽ dẫn đến suy nghĩ theo cách khác: bạn sẽ không tự hỏi "điều gì sẽ xảy ra khi nút này được nhấp", nhưng thay vào đó: trạng thái mới của ứng dụng của tôi sau khi nhấp vào nút là gì.

'Trạng thái mới' sẽ được lớp trình bày của phần mềm của bạn sử dụng để thực hiện một số công việc GUI.

Điều này sẽ dẫn đến chức năng "trạng thái -> sự kiện -> trạng thái", có thể dễ dự đoán hơn so với mô hình OO "nói, đừng hỏi" mô hình.

Nhưng nó cũng có thể phức tạp hơn.

Các vấn đề liên quan