• 解读Petshop3.2用Nhibernate重构系列(二)


    他的架构
    DAO
    BLL
       Entity   IDAO
    Web
    我个人觉得应该把BLL的IDAO给单独剥离出来作为一个项目。这样层次结构会清晰一些。

    DAO实现IDAO的接口。BLL包含实体类,和相应的业务逻辑类,外加一个对象工厂类。
            public bool SignIn(){
                
    // Validate input
                if ((UserId.Trim() == string.Empty) || (Password.Trim() == string.Empty)) return false;

                
    // Try to sign in with the given credentials
                return ((ISignOnDAO)ObjectFactory.GetInstance("SignOnDAO")).SignIn(this);
            }
    如上方法,展示了SignOn对象如何登陆系统。
    用对象工厂去获取DAO的实例,然后转化成借口,并且调用相应的登陆方法。


    而对象工厂
    using System;
    using System.Web;
    using Spring.Context;
    using Spring.Context.Support;

    namespace PetShop.BLL{
        
        
    public class ObjectFactory{
            
            
    private static IApplicationContext ctx;

            
    static ObjectFactory() {
                    ctx 
    = new XmlApplicationContext( "assembly://PetShop.DAO/PetShop/objects.xml" );
            }


            
    public static Object GetInstance(string name) 
                
    return ctx.GetObject(name);
            }

        }

    }

    也使用了一个静态的构造函数,来初始化PetShop.DAO项目的PetShop.objects.xml文件,已经初始化这些类。
    还有一个静态的方法来返回依据名称而对应的对象。
    使用了Sprint.net

  • 相关阅读:
    实现自动更新文件
    IP零碎知识总结
    有关数据库操作的一些函数
    AppConfig有关零碎知识
    将文件上传到数据库 和 从数据库下载文件到本地
    如何学习编程
    像素、英寸、厘米之间的换算关系
    局域网
    JSP基础知识
    Exchange a,b without using other variables
  • 原文地址:https://www.cnblogs.com/wildfish/p/117195.html
Copyright © 2020-2023  润新知