2010-02-25 28 views
9

Vâng, tiêu đề của nó khá nhiều: nếu tôi ngồi một đứa bé trai/đứa bé trai mười hai tuổi/cocker spaniel trước mặt bạn và yêu cầu bạn giải thích actors cho họ, bạn sẽ bắt đầu từ đâu? Tôi hỏi vì tôi master's project liên quan đến họ đến một mức độ khá lớn, và mỗi ngày ai đó yêu cầu tôi nói với họ những gì tôi đang làm. Khi tôi nói chuyện với những người khác trong khóa học, điều đó không quá tệ - thường là khái niệm ở nước ngoài nhưng dễ hiểu - nhưng gần đây người bạn chung của tôi, một nhà hóa học, đã yêu cầu tôi giải thích cho cô ấy, và nói rằng tôi phải vật lộn nói cách khác.Bạn sẽ giải thích các diễn viên với người không phải là lập trình viên như thế nào?

Tôi đang tìm một số loại giải thích truyền tải ý tưởng, thay vì nền tảng kỹ thuật. Nó có thể là một ẩn dụ, và nó không phải là chính xác - tôi chỉ muốn làm cho họ hiểu những gì tôi đang làm với họ. Bất kỳ ý tưởng?

+5

Mọi người bỏ phiếu để đóng "không phải là một câu hỏi thực sự" chỉ vì họ không thể nghĩ ra câu trả lời ngay lập tức? –

+1

Tại sao tôi cảm thấy như tôi đang làm dự án của chủ nhân của bạn? –

+4

Heh ... Tôi khá chắc chắn bạn không, Joe. Dự án của tôi là viết một khuôn khổ sử dụng các tác nhân để tạo ra các quy trình mô-đun đang chạy trên cả máy khách lẫn máy chủ, cũng như một số trường hợp thử nghiệm. Tôi có một thời gian khó giải thích những thứ kỹ thuật một cách phi kỹ thuật - đó là lý do tại sao tôi hỏi câu hỏi này. –

Trả lời

10
  • Có thể có nhiều diễn viên. Tất cả các diễn viên đều hành động "cùng một lúc". Đồng thời là một phần quan trọng của mô hình này.

  • Diễn viên không thể biết các diễn viên khác đang nghĩ gì. Cách duy nhất để di chuyển thông tin là với một tin nhắn. (Không một quốc gia chia sẻ)

  • diễn viên có thể nhận tin nhắn, và hành động trên chúng bằng cách:

    • làm tính toán với các dữ liệu trong chúng

    • thông điệp gửi đến các diễn viên khác

    • tạo các diễn viên khác.

    • bỏ qua/hủy thư.

này về cơ bản làm cho các diễn viên giống như ... dân. Mọi người không biết những gì nhau đang suy nghĩ, họ phải gửi tin nhắn để truyền tải thông tin, họ có sự lựa chọn bỏ qua tin nhắn đến, xem xét họ, hoặc giao tiếp với người khác. Những điều xấu ngẫu nhiên có thể xảy ra với mọi người. Nhiều người cùng làm mọi việc cùng một lúc. Để xử lý thêm tải, hãy thêm nhiều người hơn.

Về dự án thạc sĩ của bạn, tôi khuyên bạn nên tìm hiểu về khung công tác Web Erlang. Ngôn ngữ lập trình Erlang được dựa trên mô hình diễn viên và được sử dụng để tạo hiệu ứng tuyệt vời trong các hệ thống có thể mở rộng bao gồm công tắc điện thoại ... và Facebook messaging system.

+0

Đây chính xác là những gì tôi đang tìm kiếm. Rực rỡ. Về Erlang: Tôi đã làm một số nghiên cứu về nó và nó trông tuyệt vời. Tuy nhiên, khung tôi viết có nghĩa là làm cho việc sử dụng diễn viên trên web trở nên dễ dàng hơn và việc học một ngôn ngữ mới là rất nhiều đối với hầu hết mọi người, vì vậy tôi đã đi với Python và đã xây dựng các lớp của riêng tôi hoạt động như diễn viên. Tôi bị cám dỗ để chuyển nó trong tương lai mặc dù. –

+0

Điều này cũng giống như nói "Tôi nghe chủ đề là tuyệt vời ... vì vậy chúng tôi cần phải chuyển chủ đề vào web!" ... cũng trình duyệt web có thể được coi là một diễn viên ... nó sẽ gửi một tin nhắn, không chia sẻ nhà nước với máy chủ, chờ đợi tiếp nhận đang chờ của tin nhắn khác, và không tính toán trên nó. –

+0

Erlang có các diễn viên "tất cả các con đường xuống" .... và hỗ trợ hàng triệu diễn viên đồng thời (được gọi là quy trình) trên một nút, và quy mô minh bạch cho nhiều nút trong khi xử lý tất cả các thông tin liên lạc tự động. Thật tuyệt khi có những loại "rễ" này khi bạn thực sự cố gắng thực hiện một nhiệm vụ đồng thời lớn. –

5

Tôi sẽ cố gắng một ẩn dụ đơn giản:

diễn viên là những người làm một số công việc bên trong nhà của họ. Ở phía trước mỗi ngôi nhà, có một hộp thư. Để giao tiếp với nhau và hoàn thành công việc, các tin nhắn được gửi giữa các diễn viên.

+0

Đây là cơ bản chính xác mô hình ToonTalk sử dụng cho đồng thời. Ngoại trừ việc bạn gửi một "con chim" thay vì mailling một lá thư. http://www.toontalk.com/English/concur.htm –

1

Tôi không chắc chắn rằng đây sẽ là một trong tốt, nhưng tôi sẽ cố gắng:

Hãy tưởng tượng một thị trường trung đông cổ điển. Có người mua (giả sử họ chỉ là khách du lịch đi bộ) và người bán. Người mua đang đi bộ qua thị trường, và người bán hét lên tên của hàng hóa của họ: Thảm !! Loài!!! Ngựa!!! Сandies !!! Đồ trang sức !!! và như vậy ... Một số người mua không quan tâm đến loại hàng cụ thể và đi đến cửa hàng tiếp theo, nhưng một số người mua trở nên quan tâm và hỏi: "Bao nhiêu tiền?", người bán: "50 đô la", người mua: " Bạn có thể giảm giá cho tôi không? ", V.v ...

Diễn viên là người mua và người bán tại đây. Người bán đang gửi tin nhắn với các loại hàng hóa của họ. Người mua có thể bỏ qua tin nhắn hoặc có thể gửi tin nhắn để hỏi giá.

1

Diễn viên - là điều chúng tôi cũng có thể gọi chủ đề. Các diễn viên đang làm điều gì đó với các vật thể. Diễn viên là những cuộc gọi như vậy, bởi vì đó là một người nào đó hành động.

0

Tôi có thể nói, "Diễn viên là một cách đơn giản để thông báo cho máy tính thực hiện nhiều việc cùng một lúc. Chúng khác với các cách khác để yêu cầu máy tính thực hiện nhiều hơn cùng một lúc vì chúng mất ít hơn tài nguyên hơn một số giải pháp thay thế và vì chúng dễ dàng hơn cho các lập trình viên sử dụng chính xác hơn so với một số giải pháp thay thế khác. "

+0

Nếu khán giả của tôi thực sự muốn biết * cách diễn viên làm việc, thì tôi sẽ đi với ví dụ về những người ở những ngôi nhà khác nhau, những người chỉ nói chuyện với nhau bằng cách đặt thư vào hộp thư, như @Dario đã đề xuất. Tuy nhiên, hầu hết thời gian, tôi không nghĩ rằng vợ/mẹ/hàng xóm của tôi/bất cứ ai thực sự muốn có nhiều chi tiết. ;-) –

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