首页 > 应用开发 > IT综合 > [转]企业应用开发架构谈(一)
在我接触.NET
尽管有了高级的抽象API,但构架系统不光是使用API那么简单,从更高层 的抽象来说,通过使用构件策略和模式来创建构架体系,是解决开发中遇 到的一系列问题的关键。
如: 会话如何跟踪?
谁来负责数据检验?
层键的数据如何传送?
视图、模型、控制? 如何分发视图?
等等。。。。。。。。。。。。
在这篇文章中我不采用实例的方式来讲解。因为我发现,尽管通过实 例有很多的优点,但往往读者无法坚持完成整个例子,同时限于本文 的篇幅,采用实例法也是不可取得。
视图--模型--实体
资源定位 资源的可配置
持久化
出版---订阅
数据校验
主键生成
数据更新
数据传送
动态赋值
控制-分发
对象界面
代理
关于模式的更多信息你可以参考 GOF 96 、SUN J2EE DESIGN PATTERNS CORE、J2EE DESIGN PATTERNS 等文章。
第一部分 资源定位
一个有序的世界总是好的。
小时候玩玻璃球和三角,开始的时候总是将嬴来玻璃球放到一个盒子中,渐渐 的越来越多,于是我将他们分类,有瑕疵的放到一起,普通的放到一起,高级 的(可以一个换两到三个)放到一起,同样的三角也是如此存放,这样一来我 能够很容易的决定每次带什么样的出去玩。
我是一个工厂的狂热爱好者,我总是通过工厂来管理这些无序的资源,以便于通 过目录的方式定位资源,不可避免的造成了系统中出现越来越多的工厂,我把管 理这些工厂称为工厂定位器模式。
为了清晰的描述我的想法,我喜欢通过代码来说明,这用的问题简单明了。
代码如下: /*工厂定位器*/
public interface FactoryFinder{
public final static int ACTION_MAPPING_FACTORY=1;
public final static int MESSAGE_RESOURCES_FACTORY=2;
public final static int VALUE_OBJECT_FACTORY=3;
public final static int FORWARD_MAPPING_FACTORY=4;
public final static int LIFE_CYCLE_FACTORY=5;
public static Factory getFactory(int finderName);
}
/*工厂标志接口*/
public interface Factory
{
} /*生命周期管理器*/
public interface LifecycleFactory
{
public final static int DEFAULT_LIFE_CYCLE=1;
public Lifecycle getLifecycle(String Key);
public interface MessageResourcesFactory extends Factory
{
public addMsgResource(String Key ,String resourceName);
} /* /*监听器注册工厂*/
public interface ActionMappingFactory extends Factory
{
public addActionMapping(String Key,String resourceName);
} /*值对象注册工厂*/
public interface BeanMappingFactory extends Factory
{
public addBeanMapping(String Key,String resourceName);
} /*分发视图注册工厂*/
public interface FowardMappingFactory extends Factory
{
public addForwardMapping(String Key,String resourceName);
} /*监听器工厂*/
public interface ListenerFactory extends Factory
{
public final static int ACTION_LISTENER=1;
public final static int VALUE_CHANGED_LISTENER=2;
public final static int HERPLINK_LISTENER=3;
public Listener createListener(String listenerName,int type);
} /*bean 工厂*/
public interface BeanFactory extends Factory
{
public Object createBean(String beanName);
} /*Lifecycle 工厂*/
public interface Lifecycle extends Factory
{
public void register();
}
如你所看到那样工厂定位器模式其实就是一个工厂模式,但我重新将它命名 为工厂定位器模式,这是因为,它不简简单单作为一个设计模式而存在,在 这里它被赋予新的含义“有效管理架构中资源
代码如下: /* 实现主键获取、数据连接获取、home接口获取 */
public interface ServiceLocator
{
public static ServiceLocator getInstance();
public EJBHome getEJBHome(String serverID,String homeName);
public Connection getConnection();
public BigDecimal getNextID(String systemCode);
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/106943/viewspace-1004469/ ,如需转载,请注明出处,否则将追究法律责任。