NakedObjects框架: 最快最省构建漂亮合理的Java程序

类别:Java 点击:0 评论:0 推荐:

NakedObjects框架: 最快最省构建漂亮合理的Java程序

一、说明:
 
基于nakedobjects.org的nakedobjects0.6.6 framework。
其理念是:将类及其实例直接交由用户操纵,而不是隐藏在传统的用户界面之后。
原文摘录:‘Naked objects’ are core business objects, such as Customer,
Product, and Order, that show directly through to the user, rather than
being hidden behind the menus, forms, process-scripts and dialogue boxes
that make up most user interfaces.  In a naked object system,
all operations are performed either by invoking a business behaviour
on a particular object, editing the attributes of an object, or
specifying an association between objects. 
了解具体信息及下载Framework可登陆http://www.nakedobjects.org/
 
二、编译运行示例:
 
>javac -classpath ..\..\lib\nakedobjects.jar;..\..\lib\log4j.jar;..\..\
lib\xerces.jar;classes;. Run.java
 
三、示例程序(地址簿):
 
// Address.java
import org.nakedobjects.object.*;

public class Address extends NakedObject {
  private final TextString name = new TextString();
  private final TextString address = new TextString();
  private final TextString telephone = new TextString();
  private final TextString mobile = new TextString();
  private final TextString email = new TextString();

  public TextString getName() {
      return name;
  }
 
  public TextString getAddress() {
      return address;
  }
 
  public TextString getTelephone() {
      return telephone;
  }

  public TextString getMobile() {
      return mobile;
  }

  public TextString getEmail() {
      return email;
  }

  public Title title() {
      return name.title();
  }
}

// Run.java
import org.nakedobjects.*;
import org.nakedobjects.object.ClassSet;
import org.nakedobjects.utility.ConfigurationException;
import org.nakedobjects.object.ObjectStore;
import org.nakedobjects.xmlpersistence.XMLObjectStore;
import org.apache.log4j.Category;
import org.apache.log4j.Priority;

public class Run extends DefaultApplication {
    public static void main(String args[]){
 new Run();
    }

    public void classSet(ClassSet set){
     set.addClass(Address.class);
    }
   
    protected void configureLogging() throws ConfigurationException {
     super.configureLogging();
     Category.getDefaultHierarchy().disable(Priority.INFO);
    }
   
    protected ObjectStore installObjectStore() throws ConfigurationException {
     return new XMLObjectStore();
    }
}

本文地址:http://com.8s8s.com/it/it18276.htm