一.背景
在現在的中,的渠道是越來越多了,技術也是越來越先進,WAP, SMS,EMAIL, 傳統的Web, Socket等等,如果連數據庫和LDAP也算的話,那在設計之中需要擴展的空間要做到很好 很好,才保證在添加新的渠道情況下不需要的修改代碼甚至不改代碼的情況。但可能嗎?我想也不可能,但有什麼方式可以更好的解決這種多渠道的框架的完美性呢?
二.構架
之中的Builder Pattern, 計算機主板的PCI 插槽定義了PCI的規范,只要你生產的卡符合PCI標准,那你插入到這個主板上就可以工作, 至於裡面是怎麼工作的則是已經封裝好了. Builder Pattern則是提出將復雜的構建分離開來, 一步一步的進行實現.XMLRouter是將這些復雜的渠道分離開來,一個個的進行表現.
Services思想:為了能和Router進行溝通,在這些渠道時必須定義統一的接口,這裡成為Services, 只要符合Services規范的程序就可以到Router並進行數據的路由.
Factory模式和Composite模式
XMLRouter在實際的設計中將采用Factory模式產生,Router由RouterFactory生產, 在投入使用時將放置於隊列中,傳遞數據和接收數據以及返回數據都從隊列中取相應的Router來調用,應用了Composite的模式.
四.XML配置文件
XML文件對於Router之中的使用分為兩個部分, 第一個是Router的配置,如:
以下是引用片段:
?XMLversion=1.0?
transaction
transname=addDocservice=databasemethod=insert
propertyname=createtimetype=timestamp/
propertyname=creatoridtype=long/
propertyname=doctypeidtype=int/
propertyname=docstatusidtype=int/
/trans
/transaction