MCV模式(2)

来源:百度文库 编辑:神马文学网 时间:2024/07/05 15:58:53
Singleton模式数据库管理系统DB2和Oracle有连接数目的限制,在默认的情况下,DB2是50用户,Oracle是100用户,如果超过这个数据的话,程序就会出现异常。利用类ConnectionPool Manager来保证连接数不被超过:class ConnectionPoolManager{   static ConnectionPoolManager instance = null;   int numberfoConnection = 50;   int maxConnection = 100;      private ConnectionPoolManager getConnectionPoolManager()   {      if(instance == null)      {         instance = new ConnectionPoolManager();      }      return instance;   }
     public DBConnection getConnection()   {      if((numberConnection      }      else      {         sleep(3000);         getConnection();      }   }} Singleton模式被用来限制对象的创建,不能有子类,构造函数是私有的,而且一般提供一个静态方法getInstance()来得到一个实例。 Facade模式比如要保存一个账户的信息,第1步需要得到数据连接对象,第2步需要解析客户信息和账户信息,第3步根据需要储存的内容生成不同的SQL语句,第4步执行SQL语句。过程比较繁杂。利用Facade模式,将所有的处理流程进行封装,只向外提供一个方法,实现所有的功能。 MVC架构模式Model-View-Controller架构模式是20世纪80年代中期在Smalltalk-80 GUI(一种经典面向对象程序设计语言)实验室发明的。根据MVC模式,一个软件应该将商务逻辑(Model)和显示(View)分开。分开有许多好处,最主要的有以下两个方面。(1)同一商务逻辑层(Model)可能会对应多个显示层(View),如果商务逻辑层和显示放在一起的话,   在添加一个显示层的时候会极大的增加组件的复杂性。一个商务逻辑对着两个显示层的例子是   银行账户的商务逻辑层对应ATM和Internet两个显示层。(2)通常情况下,每次修改显示层的时候一般并不需要修改商务逻辑层。   Model层一般利用Facade模式进行设计,在复杂的商务逻辑上,提供简单并且统一的应用程序   接口。这一层负责管理应用程序的行为和状态,来响应状态的请求和改变状态的指令。   View层是从Model层和Controller层获取数据,并按照某种方式显示给用户。   Controller层的功能是捕捉用户的一些事件,并根据用户和应用程序的状态来决定响应的类型。   Controller层的响应会同时影响到View层和Model层。