hello word设计模式

来源:互联网 发布:淘宝刷手一天收入多少 编辑:程序博客网 时间:2024/05/23 11:49

接口:

package ISyaHi;

public interface ISayHi {
       public String SayHi(String name);
}

 

实现类:

package SayHiImp;

import ISyaHi.ISayHi;

public class SayHiEnImp implements ISayHi {
 
       public SayHiEnImp()
       {
       }

       public String SayHi(String name) {
       return "Hello! "+name.toUpperCase()+" This JAVA Word!";
 }

 

package SayHiImp;

import ISyaHi.ISayHi;

public class SayHiZhImp implements ISayHi {
 
       public SayHiZhImp()
       {
       }
 
       public String SayHi(String name) {
              return "你好! "+name.toUpperCase()+" 这是JAVA世界!";
       }

}

 

 

控制类:

package SayHiController;

import ISyaHi.ISayHi;
import XMLPrass.XmlPrass;

public class Controller {
       private ISayHi iSatHi;
       private XmlPrass xmlPrass;
 
       public Controller ()
      {
           try{
                  xmlPrass=XmlPrass.newInstance();
                  if(xmlPrass.sax().equals("ZH")){
                          iSatHi=(ISayHi)Class.forName("SayHiImp.SayHiZhImp").newInstance();
                  }else{
                          iSatHi=(ISayHi)Class.forName("SayHiImp.SayHiEnImp").newInstance();
                  } 
                  }catch(Exception e){
                          System.out.println(e);
                  }
       }
 
       public ISayHi getSayHi()
       {
                  return iSatHi;
       }
}

 


XML解析类:

package XMLPrass;
import java.io.File;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;

public class XmlPrass {
          private static XmlPrass xmlPrass=null;
 
          private XmlPrass(){}
 
          public String sax() {
                  String result="";
                  try{
                        DocumentBuilderFactory builderFactory=DocumentBuilderFactory.newInstance();
                        DocumentBuilder builder=builderFactory.newDocumentBuilder();
                        Document document=builder.parse(new File("src/MyXml.xml"));
                        Element element=document.getDocumentElement();
                        NodeList nl=element.getElementsByTagName("say-configuation");
                        result=nl.item(0).getAttributes().getNamedItem("src").getTextContent();
                        }catch(Exception e){
                               System.out.println(e);
                        }
                   return result;
          }
 
          public static XmlPrass newInstance(){
                      if(xmlPrass==null){
                              xmlPrass=new XmlPrass();
                      }
                      return xmlPrass;
          }
}

 


测试类:

package SayHiMain;

import SayHiController.Controller;


public class SayHi {

         /**
          * @param args
          */
         public static void main(String[] args) {
         Controller controller=new Controller();
         System.out.println(controller.getSayHi().SayHi("jack"));
         }
}

 

MyXml.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<say>
 <say-configuation src="EN"/>
 <say-class name="ZH" class="SayHiImp.SayHiZhImp" />
 <say-class name="EN" class="SayHiImp.SayHiEnImp" />
</say>

原创粉丝点击