我想爲我的項目使用的iTextsharp(PDF創建庫)設計一個接口。我不想在我的項目中引用iTextsharp,只是界面。C#類接口設計
比方說,我有
interface IPdfTable { /* */ }
public class PdfTable : IPdfTable { /* */ }
interface IPdfCell { /* */ }
public class PdfCell : PdfCell { /* */ }
雖然我可以輕鬆地構建爲每個類individualy,我有在實現難度,當這些類彼此交互的接口。在代碼的某處,我需要表格才能夠接受一組單元。
問題出現時,我有一個單元的集合,我需要將它添加到表中。不知何故,我需要將IPdfCell轉換爲庫接受的原始元素(iTextSharp)。我相信這個快速簡單的實施是向下的,但不是一個好的設計。
我能想到的唯一的另一個解決方案是使用接口來收集不同的設置,並在它被傳遞到其他元素時創建原始元素(由iTextsharp接受)。
有更好的實施嗎?
好點。而不是將pdf生成庫封裝在一組接口中,更好的方法可能是在服務接口中封裝pdf生成。 – Jeff