⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 helloworld.java

📁 uml ooad 有ppt文件 和源码哦!跟大家分享
💻 JAVA
字号:
import java.io.*;
import java.net.*;
import javax.swing.*;
public class HelloWorld {
	public static void main(String[] args) {
		Factory f=new Factory();
		View vo=f.getView();
		vo.show();
	}
}
interface View{
	void setService(Service service) ;
	void show();
}
class TextView implements View{
	Service service;
	public TextView(){}
	public TextView(Service service){
		this.service=service;
	}
	public Service getService() {
		return service;
	}
	public void setService(Service service) {
		this.service = service;
	}

	public void show(){
		String text=service.getContent();
		System.out.println(text);
	}
}
class SwingView implements View{
	Service service;
	public SwingView(){}
	public Service getService() {
		return service;
	}
	public void setService(Service service) {
		this.service = service;
	}
	public SwingView(Service service){
		this.service=service;
	}
	public void show(){
		String text=service.getContent();
		JOptionPane.showMessageDialog(null,text);
	}
}

interface Service{
	String getContent();
	void setDao(Dao dao);
}
class UpperCaseService implements Service{
	Dao dao;
	public UpperCaseService(){}
	public  UpperCaseService(Dao dao) {
		this.dao = dao;
	}
	
	public Dao getDao() {
		return dao;
	}

	public void setDao(Dao dao) {
		this.dao = dao;
	}

	public String getContent(){
		String text=dao.findText();
		text=text.toUpperCase();
		return text;
	}
}
class InverseService implements Service{
	Dao dao;
	public InverseService(){}
	public  InverseService(Dao dao) {
		this.dao = dao;
	}
	public Dao getDao() {
		return dao;
	}
	public void setDao(Dao dao) {
		this.dao = dao;
	}

	public String getContent(){
		String text=dao.findText();
		StringBuffer sb=new StringBuffer(text);
		sb.reverse();
		return sb.toString();
	}
}

interface Dao{
	public String findText();
}
class TextFileDao implements Dao{
	public TextFileDao(){}
	public String findText(){
		try {
			FileReader reader=new FileReader("text.txt");
			BufferedReader in=new BufferedReader(reader);
			return in.readLine();
		} catch (IOException e) {
			e.printStackTrace();
			return null;
		}
	}
}
class NetDao implements Dao{
	public NetDao(){}
	public String findText(){
		try {
			Socket s=new Socket("localhost",9000);
			BufferedReader in=new BufferedReader(new InputStreamReader(s.getInputStream()));
			String text=in.readLine();
			s.close();
			return text;
		} catch (IOException e) {
			return null;
		}
	}
}
class Factory{
	String daoName;
	String serviceName;
	String viewName;
	public Factory(){
		load();
	}
	private void load(){
		try {
			FileReader r=new FileReader("config.txt");
			BufferedReader in=new BufferedReader(r);
			daoName=in.readLine();
			serviceName=in.readLine();
			viewName=in.readLine();
			in.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	private Object createObject(String className){
		try {
			Class c=Class.forName(className);
			return c.newInstance();
		} catch (Exception e) {
			return null;
		}
	}
	private Dao getDao(){
		Dao dao=(Dao)createObject(daoName);
		return dao;
	}
	private Service getService(){
		return (Service)createObject(serviceName);
	}
	public View getView(){
		Dao dao=getDao();
		Service bo=getService();
		View vo= (View)createObject(viewName);
		
		bo.setDao(dao);
		vo.setService(bo);
		return vo;
	}
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -