2013-06-05 47 views
5

Tôi là một nhà phát triển web MVC, những người đã trở nên rất quan tâm đến lập trình chức năng để viết các ứng dụng web (cụ thể là tôi bị quyến rũ bởi Erlang và Cowboy.)Điều gì thay thế mẫu MVC trong lập trình hàm?

Tôi đang gặp khó khăn khi tìm câu trả lời cho/tài nguyên trên là những gì mô hình được sử dụng để thay thế MVC trong FP.

Rõ ràng ý tưởng về ORM là lố bịch trong FP, vì nó không hướng đối tượng, vì vậy cái được sử dụng để thay thế nó cho logic bền bỉ? Việc xây dựng một mô-đun có sử dụng thư viện để tạo các hàm có giao diện với kho dữ liệu hay có các công cụ tương tự như các ORM không?

Cả lời khuyên và liên kết đến tài nguyên sẽ được đánh giá cao. Điểm thưởng cho Erlang/Cowboy giúp đỡ cụ thể. Cảm ơn.

+0

[Câu hỏi này] (http://stackoverflow.com/questions/327955/does-functional-programming-replace-gof-design-patterns) giúp tôi hiểu được tại sao câu trả lời này dường như bị thiếu, nhưng tôi vẫn quan tâm đến lời khuyên từ những người có kinh nghiệm với FP, cụ thể cho công việc loại ORM. – iliveinapark

+0

Hãy xem [Ngừng sử dụng mẫu quan sát với 'Scala.React'] (http://infoscience.epfl.ch/record/176887). – lukstafi

Trả lời

4

Có khung MVC cho Erlang. Đó là ChicagoBoss chẳng hạn.

+0

Cảm ơn bạn đời. Tôi đã có một cái nhìn tại ChicagoBoss, và tôi nghĩ rằng tôi muốn đi với một cái gì đó mỏng hơn như Cowboy hoặc WebMachine. Tôi nhận ra điều này có nghĩa là ORM-tương đương không phải là nướng trong, nhưng tôi đang cố gắng tìm ra cách FPers làm điều đó nói chung, mà không có một ORM. – iliveinapark

+0

Bạn có thể muốn có một cái nhìn tại http://nitrogenproject.com/ - nó không phải khá MVC (nó là sự kiện điều khiển bằng cách sử dụng phù hợp với mô hình Erlang). Tôi thấy nó có trọng lượng nhẹ với chu kỳ phát triển nhanh. BTW, có _less_ cần cho các công cụ giống như ORM trong Erlang vì các cơ sở dữ liệu như Mnesia cho phép lưu trữ trong cơ sở dữ liệu và đọc lại dưới dạng thuật ngữ, nghĩa là không cần lớp _ _ mapping _ ** hoặc bản dịch dịch. –

0

im coder cho erlang. tôi sử dụng erlang cho máy chủ trò chơi web của tôi ... vì vậy ... không có Chế độ xem ..và trong hàm luangues này không có Mô hình ... vì vậy từ quan điểm của tôi, hàm luangues không cần MVC (giống như không có lớp học hoặc các lớp con trong luangues chức năng ..)

3

Trích dẫn từ một article bởi @yarivs:

Erlang không mang theo trọng lượng của nó trong tất cả các chữ cái của MVC. Đối với Mô hình, hãy quên các lớp trừu tượng cơ sở dữ liệu: bạn có một cơ sở dữ liệu phân tán Erlang thuần túy được gọi là Mnesia. Đối với chế độ xem, Yaws có ehtml. Đối với bộ điều khiển, Yaws có appmods và phù hợp với mô hình của Erlang.

Tôi hy vọng điều này sẽ hữu ích.

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