composability, áp dụng cho các chức năng, có nghĩa là các chức năng có kích thước nhỏ và rõ ràng, do đó dễ dàng tích hợp vào các chức năng khác (tôi đã thấy ý tưởng này trong cuốn sách "niềm vui của clojure")
khái niệm này có thể áp dụng cho những thứ khác được cho là được sáng tác thành một thứ khác.
mục đích tính tương thích được tái sử dụng. ví dụ, một chức năng nổi xây dựng (composable) là dễ dàng hơn để tái sử dụng
macro không phải là nổi composable bởi vì bạn không thể vượt qua chúng như thông số
khóa là tào lao vì bạn có thể 't thực sự cung cấp cho họ tên (xác định chúng tốt) hoặc tái sử dụng chúng. bạn chỉ cần thực hiện chúng tại địa chỉ
ngôn ngữ mệnh lệnh không phải là composable vì (một số trong số đó, ít nhất) không có đóng cửa. nếu bạn muốn chức năng được truyền dưới dạng tham số, bạn sẽ bị hỏng. bạn phải xây dựng một đối tượng và vượt qua điều đó; từ chối trách nhiệm đây: ý tưởng cuối cùng này tôi không hoàn toàn bị thuyết phục là đúng, do đó nghiên cứu thêm trước khi dùng nó cho các cấp
một ý tưởng trên ngôn ngữ bắt buộc là họ không sáng tác tốt vì chúng ám chỉ bang (từ wikipedia knowledgebase :) "Lập trình bắt buộc - mô tả tính toán theo các câu lệnh thay đổi trạng thái chương trình").
trạng thái không kết hợp tốt vì mặc dù bạn đã đưa ra "thứ gì đó" cụ thể trong đầu vào, rằng "cái gì đó" tạo ra đầu ra theo trạng thái của nó. trạng thái nội tại khác nhau, hành vi khác nhau. và do đó bạn có thể nói lời tạm biệt với những gì bạn mong đợi xảy ra.
với trạng thái, bạn phụ thuộc nhiều vào việc biết trạng thái hiện tại của đối tượng là ... nếu bạn muốn dự đoán hành vi của nó. nhiều thứ để giữ lại trong tâm trí của bạn, ít composable (nhớ cũng xác định hoặc "nhỏ và đơn giản", như trong "dễ sử dụng"?)
ps: suy nghĩ của clojure học tập , Huh ? điều tra ...? tốt cho bạn !: P
bản sao có thể có của [Tính tổng hợp có ý nghĩa gì trong ngữ cảnh lập trình hàm?] (Http://stackoverflow.com/questions/2887013/what-does-composability-mean-in-context-of-functional- lập trình) – missingfaktor