zoukankan      html  css  js  c++  java
  • [Architecture Design] : 资料存取层 (一)

    前言 :

    一般说到应用程序架构
    大家最容易联想的应该就是「三层式体系结构」
    但笔者所要讨论的应用程序架构
    抽象逻辑上是架构在三层式体系结构的上一层
    针对软件设计所规划的应用程序架构
    相关数据可以参考 : 微软文件「.NET 的应用程序架构:设计应用程序和服务」
    本篇将焦点放在「数据存取层」

    简介 :

    所有的程序都离不开数据存取。
    「数据存取层」所定义的就是将数据的存取,与应用程序的逻辑分开。

    动机 :

    开发应用程序有时会遇到变更数据库的需求,
    例如将数据库从SQL换到Oracle。

    遇到这种问题
    比较常碰到的解法是,把与SQL数据库沟通的程序代码跟SQL语句,改成Oracle。
    甚至高深一点的会将SQL语法做成配置文件,成是执行的时候再加载。

    这样的方法可以解决问题
    但是如果
    今天要把SQL数据库变成文本文件或是面向对象数据库呢?

    观念 :

    数据存取接口定义了逻辑对象B的数据存取接口。
    逻辑对象A使用数据存取接口存取逻辑对象B。

    将数据存取接口的实作,跟应用程序做切割。
    这样的好处是将应用程序跟数据存取层做分割。
    数据要往哪边存取,是由实做数据存取接口的对象来决定。

    SQL数据存取对象,只需要关注如何使用SQL实作出数据存取接口。
    要把SQL数据库改成面向对象数据库,也只需要实作一个面向对象数据库就可以完成。

    实作 :

    而「资料存取层」实作上
    主要分为两个部分
    1. 数据存取接口切割 : 依项目考虑来做切割。
    2. 数据存取对象生成 : 参考Design Patterns的生成模式(Creational Patterns),或是微软实作的Provider Pattern。

    结语 :

    其实架构的东西,比较着重在观念。
    观念懂了怎么实作就只是技巧噜~

  • 相关阅读:
    some ideas
    zz 牛人啊
    zz 史上最全--各银行借记卡的年费、小额管理费、转账费等!
    哪裡可以買郵票
    : 求靠谱灭蟑螂的方法
    zz 【见闻八卦】《金融时报》年度商业书单:互联网题材占一半
    IOS开发基础知识--碎片6
    IOS开发基础知识--碎片5
    IOS开发基础知识--碎片4
    IOS中关于KVC与KVO知识点
  • 原文地址:https://www.cnblogs.com/clark159/p/2205005.html
Copyright © 2011-2022 走看看