zoukankan      html  css  js  c++  java
  • TimeTracker研究

    TimeTracker是微软一个比较简单的案例,这几天决定重新学一下asp.net,就从这些官方的案例开始入手研究。

    数据库:

    TimeTracker 是个简单的案例,主要的关系以及数据表如下图:

    image

    这里membership的关系表只显示了一张users表,因为这张表和这个系统关系比较紧密。

    数据表不是很复杂,这里就不详细说了。

    DAL:

    TimeTracker虽然是个很小的案例,但是分层却一点也不含糊,照样有数据层,逻辑层,表现层,其中DAL里面有三个类:DataAccessHelpsers类,DataAccess类,SQLDataAccessLayer类,DataAccess是个抽象类,包含了该项目要实现的所有的数据操作类的抽象方法,SQLDataAccessLayer是继承与DataAccess类的在SqlServer上的具体实现,DataAccessHelper类是个工厂,在Web.config里面有个具体实现类的配置:

    <add key="aspnet_staterKits_TimeTracker_DataAccessLayerType" value="ASPNET.StarterKit.DataAccessLayer.SQLDataAccess"/>

    DataAccessHelper根据aspnet_staterKits_TimeTracker_DataAccessLayerType的值,生成具体的数据操作方法,其实这已经有点类似于petshop里面的provider模式了,只是这里实现的更简单了而已。

    插一句,关于web.config文件,这个项目其实也挺值得学习的,比如:

    <location path="login.aspx">
            <system.web>
                <authorization>
                    <allow users="?" />
                </authorization>
            </system.web>
        </location>

    这一段是定义login.aspx页面运行所有人访问。

    <pages maintainScrollPositionOnPostBack="True" /> 这里定义了页面在postback以后滚动条滚动到之前的位置,这个特别有用,记得在以前要实现这个功能好像是挺花力气的。

    BLL:

    BLL里面的类直接把DomainModel和相关的逻辑都放在一起了,比如Category类,除了定义Category的字段,属性,还有它的实体方法和静态方法。这里的方法调用了数据层的时候用一下类似的方法:

    DataAccess DALLayer = DataAccessHelper.GetDataAccess();
       return (DALLayer.GetAllCategories());

    体现了设计原则里面的依赖抽象而不依赖具体实现的原则。

    TimerTracker:

    这个文件夹里就是具体的表现层了。

    Global文件在程序开始的时候就判断角色系统,如果没有系统需要的角色就直接创建了角色。

    关于用户的创建修改检索登陆就不说了,看一下教程,说的非常详细。

    母版页里面放了一个Menu控件,之前没想到Menu控件能实现菜单这么好看,下次做菜单的时候看一下这个实现好了,不用自己写菜单代码了。

    其他的页面代码里面主要就是数据控件 GridView,DataList,Repeater以及ObjectDataSource控件以及验证控件的使用了。另外,那个日历页面觉得好像做的不是很好,如果要在实际项目里面需要这个功能的话强烈推荐my97这个控件。

  • 相关阅读:
    剑指offer分块总结----------字符串
    sizeWithFont 不是线程安全。
    《创业之路,败给了……》欠大家一个回复,及项目转让:高频彩票通、仓库管理软件
    搞懂.NET Framework 历史版本(2017年)
    DDD 领域驱动设计-谈谈 Repository、IUnitOfWork 和 IDbContext 的实践(3)
    DDD 领域驱动设计-谈谈 Repository、IUnitOfWork 和 IDbContext 的实践(2)
    MVC+EF 理解和实现仓储模式和工作单元模式
    (译文)MVC通用仓储类
    【开源】T430s光驱位支架
    【开源】讯飞VBOX改装蓝牙5.0(aptX HD)音箱
  • 原文地址:https://www.cnblogs.com/asdio/p/1406467.html
Copyright © 2011-2022 走看看