三层架构模式(开发实践很重要)

题记: 多层开发模式 是开发软件 都要用到的一个思想 , 不管是Java还是C#都是要用到的.


经验:
  1. DLL : 动态链接库(就是类库)
  2. exe 和 dll 的区别?   就是一个有主函数(exe有),一个没有主函数(dll).
  3. 面试考的比较多的是基本功 , 但是工作的时候 效率才是最重要的 , 所以拷贝,复制,粘贴 才是王道,(注意功能代码块的收集)
  4. 我们敲些代码的目标是什么?   ---高内聚 , 低耦合 的思想
  5. UML 统一建模语言      OOP 面向对象
  6. 开发软件 , 使用多层模式开发, 都是要从底层开始写起的
  7. 在DAL层中 , 最好把通用的代码 放在一个 文件夹里面(注意调用的时候要 改变命名空间  就是在本来的命名空间后面加上文件夹的名字)
  8. ref string name ; //ref 有保持内存地址不改变,只改变值的作用,对象包括字段
  9. 命名要规范: UI层正常就是用你要做的软件名(eg:EM), 然后BBL 就是用 (EMBLL)} DAL 就是要on个(EMDAL)
  10. 调用通用的代码 (如:SqlHelper .cs), 要记得插屁股 (就是改一些东西才能哟个)
    1. 改命名空间
    2. 引用添加System.configrtation;
    3. 添加配置文件( 注意这个要放在UI层 )
  11. 各个层之间的依赖不可是循环的 , UI 依赖于 BLL ; BAL 依赖于 DAL ;
    1. 怎么设置依赖? UI这个项目 -> 引用 -> 项目 ->BAL这个项目
    2. 设置依赖其实就是搭框架



     

三层开发模式:
  1. 界面层 (UI):  为用户提供交互操作界面
  2. 业务逻辑层(BLL):  负责关键业务的处理和数据传递. (承上(UI) 启下(DAL) ) 
  3. 数据访问层(DAL): 实现数据库访问 
  4. 题记: 多层开发模式 是开发软件 都要用到的一个思想 , 不管是Java还是C#都是要用到的.


    经验:
    1. DLL : 动态链接库(就是类库)
    2. exe 和 dll 的区别?   就是一个有主函数(exe有),一个没有主函数(dll).
    3. 面试考的比较多的是基本功 , 但是工作的时候 效率才是最重要的 , 所以拷贝,复制,粘贴 才是王道,(注意功能代码块的收集)
    4. 我们敲些代码的目标是什么?   ---高内聚 , 低耦合 的思想
    5. UML 统一建模语言      OOP 面向对象
    6. 开发软件 , 使用多层模式开发, 都是要从底层开始写起的
    7. 在DAL层中 , 最好把通用的代码 放在一个 文件夹里面(注意调用的时候要 改变命名空间  就是在本来的命名空间后面加上文件夹的名字)
    8. ref string name ; //ref 有保持内存地址不改变,只改变值的作用,对象包括字段
    9. 命名要规范: UI层正常就是用你要做的软件名(eg:EM), 然后BBL 就是用 (EMBLL)} DAL 就是要on个(EMDAL)
    10. 调用通用的代码 (如:SqlHelper .cs), 要记得插屁股 (就是改一些东西才能哟个)
      1. 改命名空间
      2. 引用添加System.configrtation;
      3. 添加配置文件( 注意这个要放在UI层 )
    11. 各个层之间的依赖不可是循环的 , UI 依赖于 BLL ; BAL 依赖于 DAL ;
      1. 怎么设置依赖? UI这个项目 -> 引用 -> 项目 ->BAL这个项目
      2. 设置依赖其实就是搭框架



         

    三层开发模式:
    1. 界面层 (UI):  为用户提供交互操作界面
    2. 业务逻辑层(BLL):  负责关键业务的处理和数据传递. (承上(UI) 启下(DAL) ) 
    3. 数据访问层(DAL): 实现数据库访问 
    4. 理论上的是没有业务实体这个层的, 这个是因为传递参数好用实体类,,所以多了一层
    注意点:
    1. 每一层不要涉及到另外一层的东西,  eg:数据访问层 最好不要涉及到 业务逻辑 的东西.
    2. 软件工程师主要做的是 业务逻辑层 和 数据访问层 (大部分公司是这样的)
      1. 那我们写的业务逻辑层和数据访问层的代码,我们怎么知道错误还是正确啊??(分工做项目的话)
        1. 我们可以写一个Demo(就是一个有主函数的控制台类) 来检验
    3. Petshop4.0 的体系结构
      1. 这个是MS 和Java之间的斗争的产物, MS最优秀的工程师,和Java最优秀的工程师用.NET和Java分别写了一个web程序 , 我们可以学习他们的思想, 代码的模式 , 如何简化 ? 等等...
      2. PetShop架构设计
        三层”应用结构:数据访问层、业务逻辑层(领域层)、表示层
        分层的设计的特点:
        结构清晰、耦合度低
        便于系统的扩展
        利于开发任务同步进行
        降低了一定的性能

    4. 三层开发模式的优缺点
      • 优点
    1、开发人员可以只关注整个结构中的其中某一层;
    2、可以很容易的用新的实现来替换原有层次的实现;
    3、可以降低层与层之间的依赖;
    4、有利于标准化;
    5、利于各层逻辑的复用。
    6、结构更加的明确
    7、在后期维护的时候,极大地降低了维护成本和维护时间
      • 缺点
    1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
    2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
     比如,一家饭店添加了一样菜, 那个菜单(UI) , 厨师(BLL)  , 采购(DAL)  都要进行相应的处理




  5. 理论上的是没有业务实体这个层的, 这个是因为传递参数好用实体类,,所以多了一层
注意点:
  1. 每一层不要涉及到另外一层的东西,  eg:数据访问层 最好不要涉及到 业务逻辑 的东西.
  2. 软件工程师主要做的是 业务逻辑层 和 数据访问层 (大部分公司是这样的)
    1. 那我们写的业务逻辑层和数据访问层的代码,我们怎么知道错误还是正确啊??(分工做项目的话)
      1. 我们可以写一个Demo(就是一个有主函数的控制台类) 来检验
  3. Petshop4.0 的体系结构
    1. 这个是MS 和Java之间的斗争的产物, MS最优秀的工程师,和Java最优秀的工程师用.NET和Java分别写了一个web程序 , 我们可以学习他们的思想, 代码的模式 , 如何简化 ? 等等...
    2. PetShop架构设计
      三层”应用结构:数据访问层、业务逻辑层(领域层)、表示层
      分层的设计的特点:
      结构清晰、耦合度低
      便于系统的扩展
      利于开发任务同步进行
      降低了一定的性能

  4. 三层开发模式的优缺点
    • 优点
1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。
6、结构更加的明确
7、在后期维护的时候,极大地降低了维护成本和维护时间
    • 缺点
1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
 比如,一家饭店添加了一样菜, 那个菜单(UI) , 厨师(BLL)  , 采购(DAL)  都要进行相应的处理



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值