Tôi muốn cung cấp nhiều triển khai của trình đọc/ghi thư. Đâu là cách tiếp cận lí tưởng nhất?thiết kế giao diện thư viện clojure nào là tốt nhất?
Dưới đây là một số mã giả về những gì tôi đang suy nghĩ:
chỉ có một tập hợp các chức năng mà tất cả các triển khai phải cung cấp và để nó lên đến người gọi để giữ được quyền suối
(ns x-format) (read-message [stream] ...) (write-message [stream message] ...)
trở lại bản đồ với hai chức năng đóng nắm giữ dòng
(ns x-format) (defn make-formatter [socket] {:read (fn [] (.read (.getInputStream socket)))) :write (fn [message] (.write (.getOutputStream socket) message)))})
cái gì khác?