2
我很少使用協議,所以我還沒有很好的使用它們的感覺。對我來說,他們看起來非常像Java接口,其優點是類型和操作很好地分離。當polymorphy不是(還)時,我應該使用協議嗎?
除了解決表達問題之外,我理解協議是一種以有意義的方式對功能進行分組的方法。
因此,如果我有一條記錄和一組相關函數來操作該記錄,我可以定義一個協議。但是,如果我沒有任何其他數據類型參與該協議,它會以某種方式感覺像濫用該模式。另外,它不是增加了不必要的複雜性嗎?
是否有任何推理關於這個問題,或者至少是關於何時使用協議以及何時堅持使用普通舊功能的一些約定?