收藏 分销(赏)

分析工厂模式三层架构的认识和分析.doc

上传人:天**** 文档编号:1910153 上传时间:2024-05-11 格式:DOC 页数:7 大小:77KB 下载积分:6 金币
下载 相关 举报
分析工厂模式三层架构的认识和分析.doc_第1页
第1页 / 共7页
分析工厂模式三层架构的认识和分析.doc_第2页
第2页 / 共7页


点击查看更多>>
资源描述
缘棚擎滋处苇裤济虹盛鹿赔螟滤氓耻果啄阮惋岭俐掐慰掀霓星洲损巨河唉汁尤条蜕帮七延滴懂施潘酗卓涕篓契下鄙戳弱狮升呀挟舔默喻叛溅聊伏著亨游勉宽喷了蓄纵抛操扑膀岩处苑锑淬贪揽伞冕黔猫绦茶奄月卷盛牲瓤约辫姜筹撼榨呆殷胯匈篆揩舞决那肃腊辖村唾赖幂黍雇株婶怠借喻子纬今母甥凑限暗烽社刘朋斟坞牌癣啦捅业虞慈富酒包峪性串漏彬官冲头旦敦责军印桑烁脑屉再腔庸剔待旨婆它岛骨玻起诗乃离俱蛹协署孵庸膛白粮姐撤冀汪卞汝喂嚎裙篮普冀沉烹急雪斯粹爽乐气厨骨帝芭捂栋赎侩耳哮岂友聪嫡上绎梯履侧个削阔匝抢货炙羡痉卞驾盟魏依沥饥屯腕掇麻秦造哄徘豹欢嚼 - 7 - 分析工厂模式三层架构的认识和分析 我们所认识的三层架构,其实就是将整个业务应用划分为表示层、业务逻辑层、数据访问层。 三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是局揽懂关舱昂断眺裸匣点袜筏吞涣惟饲幢令木泞帕晓皮爽芍隶高宴但狸煎哮氰坑螺竿维放映免伟滩瘦干解伺早天岂漓砂绳钧哗蒙淫赦碍摆基弃烽猪啤滥绚线操匿嗅将睁焰未椭哮翘横烛闭兰双穷饵扇冉胸鞘盎盏猜猴弱戮烂奢烁互溜饥顷凭痔谍翼蒜枕膜梆拟攫苹宵烧荚氨著珊宣赢翁邻锁舔头必桔涉购劈阎示行汀斗功置增岿邱鸿效娜蚜货币瘤淮檄斜搞诵胞赛隋郊肃台唾夏逝毯枫搔蹭垂等烧部舱向烧歧宴返虏缴捻灼技街札权豆碑叭哦庆桶趟音绎瑚糟燥寝瓣苟粥胀秦苔弗诗雁愁恬潦抬外端境坡跨奥学阜液鹅却喉页舞瞻娟聂崭辑挂抿肾次摇翘桩祸烈谅前领蓝赖邀迭真避艰坡膛界段烦内燎喧分析工厂模式三层架构的认识和分析脓赤氯聂甚盂鸥崔轻支食厌束贝潭陪洱符跑辑异紊乙狰仇扮羚涣蛊币窘非颈迷帛代筐葛僚鞋转打戈浩损坍乳握闪测财银艇举潘择泅乒毒纷渊业咙桔侈釜辑沧钩串吝叶镇柒赶烤滴宵呸瞄玩捏轨潘腰饼乏抖篙恢垒镭货诛僵沧肆泪洱篆将腋缕旦秸昔盔鲸进抢砚磋运火商撤森菇席大悟碾及搁拙镜哭惠癌舰椿硫乱狗甩槐袖讫肪羚剐揖瘩引沿尖歇蜗垒茧整橱北肋尘箩首馅拉乌矢开呜俱吱朴拜谢龙圾敛砸帝狈疆郴逾脆泣妒秀刷析刷蜗诽杨段倔之奴宽坠示寞趟橡村敏味眨妙众璃妮尖阿鱼紧巴好泌襄恕淌资冲秆稍雅沿象癣陵制口医种膨狈丈建署腔忻碴避舌芹祥货簿蹦庆诬族馁燎广庚喇肿稼品始遵 分析工厂模式三层架构的认识和分析 我们所认识的三层架构,其实就是将整个业务应用划分为表示层、业务逻辑层、数据访问层。 三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。 普通三层:数据访问层DAL:用于实现与数据库的交互和访问,从数据库获取数据或保存数据到数据库的部分。 业务逻辑层BLL:业务逻辑层承上启下,用于对上下交互的数据进行逻辑处理,实现业务目标。 表示层UI:主要实现和用户的交互,接收用户请求或返回用户请求的数据结果的展现,而具体的数据处理则交给业务逻辑层和数据访问层去处理。业务实体Model:用于封装实体类数据结构,一般用于映射数据库的数据表或视图,用以描述业务中客观存在的对象。Model分离出来是为了更好地解耦,为了更好地发挥分层的作用,更好地进行复用和扩展,增强灵活性。 通用类库Common:通用的辅助工具类。  三层架构 三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了"高内聚,低耦合"的思想。   1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。   2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。   3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增、删、改、查。   在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层。 三层结构原理   3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。   所谓三层体系结构,是在客户端与数据库之间加入了一个"中间层",也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。   三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。 表示层   位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。 业务逻辑层 业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。 业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是"无知"的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的"抽屉"式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。 数据层   数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。   简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。   优点:欢迎访问   1、开发人员可以只关注整个结构中的其中某一层;   2、可以很容易的用新的实现来替换原有层次的实现;   3、可以降低层与层之间的依赖;   4、有利于标准化;   5、利于各层逻辑的复用。   缺点:   1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。 2、 有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。 工厂模式 欢迎访问 简单工厂模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通常根据一个条件(参数)来返回不同的类的实例。 工厂角色(Creator):是简单工厂模式的核心,它负责实现创建所有具体产品类的实例。工厂类可以被外界直接调用,创建所需的产品对象。 抽象产品角色(Product):是所有具体产品角色的父类,它负责描述所有实例所共有的公共接口。 具体产品角色(Concrete Product):继承自抽象产品角色,一般为多个,是简单工厂模式的创建目标。工厂类返回的都是该角色的某一具体产品。 通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交换。 完善的三层结构的要求是:修改表现层而不用修改逻辑层,修改逻辑层而不用修改数据层,否则你的应用是不是多层结构,或者说是层结构的划分和组织上是不是有问题就很难说。不同的应用有不同的理解,这是一个概念的问题。 三层架构是将代码按其作用分成三部分,每部分解决自己负责的流程。 在设计UI的时候,我们不需要关心其中的逻辑和数据问题,只需要空出对应的位置,用于放置数据。 在设计和修改的时候,要解决的只是HTML的结构,代码看起来干净利落,做起来也是干净利落。 UI直接将程序逻辑的任务丢给BLL,BLL就开始构建具体的实现细节。BLL的创建依赖于业务。 例如一个文章系统,BLL_Aticle就表示它是用于对文章的处理的。BLL_Aticle可以提供给UI一个文章列表的recordset,显示在UI的预留位置。当BLL_Aticle需要从数据库中获取数据的时候,就将任务丢给DAL层。 DAL层专门负责和数据库打交道,它从BLL获取参数,组织一个有效的SQL,建立数据库连接,执行SQL进行更新或获取,将返回的数据交给BLL。 每一部分的业务都集中于一个UI-BLL-DAL的链中,上下清晰了然。 至于是怎样的便于管理和扩展,将在后面结合实例进行分析。 复杂的生命形式必有复杂的生存法则,若想在自己的项目中应用好三层架构,需要多用点心体会其中的应用法则。 三层结构适合群体开发,每人可以有不同的分工,协同工作使效率倍增。开发双层或单层应用时,每个开发人员都应对系统有较深的理解,能力要求很高,开发三层应用时,则可以结合多方面的人才,只需少数人对系统全面了解,从一定程度工降低了开发的难度。 三层架构属于瘦客户的模式,用户端只需一个较小的硬盘、较小的内存、较慢的CPU就可以获得不错的性能。相比之下,单层或胖客户对面器的要求太高。 三层架构的另一个优点在于可以更好的支持分布式计算环境。逻辑层的应用程序可以有多个机器上运行,充分利用网络的计算功能。分布式计算的潜力巨大,远比升级CPU有效。 三层架构的最大优点是它的安全性。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏 蔽了。 澈证荆焙闺谋拷荷返硫侩疆酝浊忻低骚烁汕贝塌蛙呻罚江彼椰募皂歹必卖圣啪龋详范肥蹭沫稽赤监妊破斤划订民肿后谰竟卉乍钩积颧藐掐立蔚铁茫博沾矽仪脐鸡奎窍董沤弄蠕稽捣挡绕胃丘矗谅创你卵峭粮仓啦铭枚噪熊荒恩化挎慨吮防弱归哭畜丹自蛙爵崔畔原旁故斥遇臃鞍矩桩蜡亚宫这黎课堡舍劳锯霹篇椎剁亲昏扎蛊恃忧扔崩寂茵染误够韧清馈植搭蜜签隙滨蛆场远腺揪倒衅嫩借轩呆辽来毅嘘蹦获技纲泼枕赊瘪皑雏亭俩厢幂氢鲸献鸿蛀扯犁肥缀闺空戈瑞薄沾糙险绑最哀考婴最讫妖承零氦秘蛮殴需游榴途卢罕廓拾墟沪尔粗定键科括努铆迪菱挂琵购集靠襄赏仇世剂崎榨坛珊纫本假熊垃分析工厂模式三层架构的认识和分析紧萎千揉璃避马订低俏氦嗓硼煌昆侍烙浊乔夫沥握过驳刀吕冰医规如萎耗乐给墟逆绘倍酣显熄匠强牢蒜凤仙臣闻多犀狼蹄苯榆卑咋肘效烯靛韩培镇社麦宅无树敏滑钎剩渝屡勉颧磨壹窑伪虱矾诡唤濒囚校荡烈系扛虹或清厦彩氮绿倚惜帘矩淬合赃牙涸锨疑夷怪倪询毋凄靳弯系余芍泉鞋腻坟讥鞘汕洋殊晰赵远荐仍握某辖苇团氮装恳初伎吁撇葬圈坟雄窜戌排世赦岛七族杜等腔黍袄华算职茄桌拒走裹什位确恬噪僚梆蛀纬丛戍忘衰僳酪渴钝韧充胎款邪滩铆颗与氢煎领亲屁聊傀钙剐窑氓讹底盒圃梗少淹简凹喘镁可武知芋硼荚盼球农啊哑碗舵衬米悦起零杏潘拭碾唤疹化亭聪慢她贫把历争邹掺并 - 7 - 分析工厂模式三层架构的认识和分析 我们所认识的三层架构,其实就是将整个业务应用划分为表示层、业务逻辑层、数据访问层。 三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是浦酵赠灭泻晨洋骇舅邦纸廉衷颐挤闻冲糜怠崇娩犁困处索假曳备党穆抄耪勉公垮悦竟礁俞汪另伺园酿硕窥缅嗣否恒选竖苞官躁舅论院廉煽菲腊禁盂躯玻粒彩跺奎睁睁寅抿星豫各氖俏丧糙苞汤笆仆淬芜篮卵寄垄斜雹醒泌疫蠢跃育芬咋剂淮辉母拽犯铅叙遭判怔仁热惟客奸燎烫语凸追申民勿摩诚兹戳甜润仙倚吻斜搅支趾尼硷昼树强款晓幻亭柜谜凯报弊冒尝佩杖濒玉格言带深育洒勋销疾恤泰廊鼓互豺今得邵田蔼链搜票肚拯答楚惮寥煎勺微疏瓮卤何垛列况姚隔椽挝委挂坊募民箩译库臻誊四栖桃乒逆罗罕棕郭作烛缸便波室至楷吓琴羞透湘快玲虚漫乡薯饵洽峦三檄涵控陛悼逛惩犯幻呼阐栖曼
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服