此次DRP项目主要对企业的物流和资金流进行全面的管理和控制,从而缩短企业的供应链,为企业节省成本,为管理层提供全面的信息流。本系统主要包括如下模块,代理商及其库存管理、分销费管理、结账管理、付款结算管理、统计报表管理、基础数据管理和系统管理。
整个系统采用分层的思想,通过调用访问数据库类(Dbutil)访问数据库。考虑到如果多次实例化用户管理类(UserManager)可能导致对表的操作混乱,而且还浪费资源。而且用户管理类(UserManager)有一个就足够了。映射到三层架构中就是DLL层的类统统可以采用单例模式,为了保证系统的正确运行同时尽可能的减少资源的开销。于是在这部分用到了单例模式。
单例模式
单例模式(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点。
通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以提供一个访问该实例的方法。
----摘自《设计模式-可复用面向对象软件的基础》
UML图如下:
代码如下:
public class Test { public static void main(String[] args) { Singleton s1=Singleton.GetIntance(); Singleton s2=Singleton.GetIntance(); if(s1==s2) { System.out.println("same instance!"); } } } class Singleton { private Singleton(){} private static Singleton instance; public static Singleton GetIntance() { if(instance==null) { instance=new Singleton(); } return instance; } }
运行结果如下: