~~~~~~~~~~~~~~~~~~ Database A __________________ (圖 2)
好了看到這里, 假如您對(duì)設(shè)計(jì)模式有了解的話, 從上面所寫的偽名字中, 可以看到一些熟悉的東西. 請(qǐng)讓我做一些解釋. 上面的圖表示的是類的繼續(xù)關(guān)系, A 代表上面所提到的四種對(duì)象, Interface A 表示名為 A 的一個(gè)接口, 相信大家對(duì)接口都不生疏, 接口在 java 中有著重要的作用. Proxy A 表示一個(gè)名為 ProxyA 的類,實(shí)現(xiàn) A 接口. Database A 表示名為 DbA 的一個(gè)類, 實(shí)現(xiàn) A 接口. 但設(shè)計(jì)模式并沒有從中體現(xiàn)出來,設(shè)計(jì)模式所要表現(xiàn)的是怎么樣更好地組織對(duì)象之間的邏輯關(guān)系,怎么樣才能更好地?cái)U(kuò)充現(xiàn)有的東西而不需要作很大的改動(dòng), 而不僅僅是類的繼續(xù).
if (classNameProp != null) { className = classNameProp; } try { //Load the class and create an instance. Class c = Class.forName(className); factory = (ForumFactory)c.newInstance(); } catch (Exception e) { System.err.println("Failed to load ForumFactory class " + className + ". Jive cannot function normally."); e.printStackTrace(); return null; }