📄 helloworld.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 + -