7.Mybatis的分頁
阿新 • • 發佈:2020-09-07
1. 模式的結構工廠方法模式的主要角色如下。
- 抽象工廠(Abstract Factory):提供了建立產品的介面,呼叫者通過它訪問具體工廠的工廠方法 newProduct() 來建立產品。
- 具體工廠(ConcreteFactory):主要是實現抽象工廠中的抽象方法,完成具體產品的建立。
- 抽象產品(Product):定義了產品的規範,描述了產品的主要特性和功能。
- 具體產品(ConcreteProduct):實現了抽象產品角色所定義的介面,由具體工廠來建立,它同具體工廠之間一一對應。
工廠方法模式的主要優點有:
- 使用者只需要知道具體工廠的名稱就可得到所要的產品,無須知道產品的具體建立過程;
- 在系統增加新的產品時只需要新增具體產品類和對應的具體工廠類,無須對原工廠進行任何修改,滿足開閉原則;
其缺點是:每增加一個產品就要增加一個具體產品類和一個對應的具體工廠類,這增加了系統的複雜度。
package FactoryMethod; public class AbstractFactoryTest { public static void main(String[] args) { try { Product a; AbstractFactory af; af=(AbstractFactory) ReadXML1.getObject(); a=af.newProduct(); a.show(); } catch(Exception e) { System.out.println(e.getMessage()); } } } //抽象產品:提供了產品的介面 interface Product { public void show(); } //具體產品1:實現抽象產品中的抽象方法 class ConcreteProduct1 implements Product { public void show() { System.out.println("具體產品1顯示..."); } } //具體產品2:實現抽象產品中的抽象方法 class ConcreteProduct2 implements Product { public void show() { System.out.println("具體產品2顯示..."); } } //抽象工廠:提供了廠品的生成方法 interface AbstractFactory { public Product newProduct(); } //具體工廠1:實現了廠品的生成方法 class ConcreteFactory1 implements AbstractFactory { public Product newProduct() { System.out.println("具體工廠1生成-->具體產品1..."); return new ConcreteProduct1(); } } //具體工廠2:實現了廠品的生成方法 class ConcreteFactory2 implements AbstractFactory { public Product newProduct() { System.out.println("具體工廠2生成-->具體產品2..."); return new ConcreteProduct2(); } }
class ReadXML1
{
//該方法用於從XML配置檔案中提取具體類類名,並返回一個例項物件
public static Object getObject(){}