个人对三层架构的看法

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/MY9526/article/details/88971273

java web开发当中,有这么三层:controller、service、dao

分别为表现层、业务逻辑层以及数据访问层。

这样分层的好处有很多,出了问题易于调试,或者便于团队合作等等。

最重要的是,可以随时换掉其中的某一层而不影响其他层,这都是借鉴于早期的程序设计经验,计算机网络体系也是这么设计的。

在我初学时,总是认为service层就是个累赘,认为它只是对请求的转发,但是随着学习的深入、开发更复杂的应用,service层的作用就体现出来了,比如对数据的校验,或者可以调用其他service层的服务,很多复杂的逻辑都是在service 层当中完成的。

对于dao层,一般来说这层都是提供对数据库的访问接口,但并不局限于数据库,有些应用压根就不会用到数据库,它只是一种抽象。

表现层,它则可以控制前两层的数据是应该以怎样的形式进行展现,可以通过jsp或者json、xml等等,这些都可以被称作视图。

但是在实际开发当中,不应该死守这三层架构,不应该什么系统都要给他搞个三层。

无论解决什么事,应该使用更简单的方案。

比如我现在使用的这个博客系统,就是使用的三层架构,结果本来这么一个简单的系统,代码搞得无比复杂,现在半年过去了,连维护都是一个大问题。

但是有些事,自己搞搞没问题,如果在一个大团队中,还是要遵守相应的规范,不能瞎搞。

你可以尽情地在自己的项目中使用各种各样的新特性,什么lambda表达式,stream api 尽管用,

又或者只在controller调用dao,还是在servlet当中一气呵成写个又臭又长的代码,都没有问题。

三层架构,的确是一个很好的通用解决方案,但还是要适时而变,找到适合自己的。

展开阅读全文

个人对程序的一点看法

09-14

[size=16px][color=#FF0000]one,太严格了,程序少一个字节行吗?rnrntwo,太虚幻了,现实中的东西是3D立体的,而程序只是平面的,而且只有无尽的字母,如果是图画,相信大脑会更加容易接受,如此有违人的认识方式又怎能不使编程变得困难呢?rnrnthree,无法并行,只能以一条线的方式运行到底,一个CPU同一时刻只能运行一条指令,现在所谓的并行只不过是速度快产生的错觉罢了,只能无限接近而无法达到真正的并行,而现实各个物体都是各自运行不会有顺序的。rnrnfour,程序权利太大了,像哈哈镜一样,只要你稍微改变一点数值,就可以使制作出来的高楼变成矮楼,想象一下,一个程序制作出来的世界中,正常的人突然变得蚂蚁般大小,钻进门缝,然后又变大,偷到钱后变小出去了,不留痕迹,如此,又怎能保证程序的安全性呢?况且程序还是数据而不是立体或平面图像,这就更加难以发现其中的漏洞,程序不大时可以限制数据范围,可是程序大了呢?情况会复杂多少?根据现在的编程方式,程序终会有一个极限,再大就不是现实的人力与时间可以维护的了了,再想进步也只有转变编程方式。(或许在未来的某一刻,那时的编程会是这样的,一个小小的盘里面就有一个模拟世界,里面的资源是有限的,而不是通过输入几个数字可以随意改变。你看着混沌的初始图像,发出命令,用里面的材料造出一个个零件,再不断地拼凑,修改,造出一幢幢房子,这一切都是需要资源的,而不是修改一下数值就可以使大小改变,最终造出一个满意的世界来。这样,如果有黑客入侵,他将不能随意地修改一下数值,把一块小石头变成陨石,然后毁灭这个虚拟世界,因为不管想要造出什么都需要资源,这样是否更安全呢?)rnrn以上仅为个人想法,猜想,很疯狂但请不要嘲笑我,有时可能性就是从这些不现实中诞生的。[/color][/size] 论坛

对Windows一点不好的个人看法

11-26

本人用Windows也有八年之久,可以用了这么多年,还是觉得自己的Windows知识还是一无空白,至今都不知道Windows搞的什么环境变量,和vs之类的开发工具之类的,到底是怎么构建的。曾经,以为Windows下安装软件是最容易的,只要点击鼠标,next几下就可以了。不过,如果你想转个开发IDE之类就可惨了,不但得把外围软件构建好,还得配置所谓的环境变量,其实这么折腾也够麻烦的。比如,本人想在windows试试我钟爱的gcc编译器,就折腾半天,什么东西都要配置环境变量,其实真够麻烦的,而且也不知所以然。rn本人用GNU/linux也才一年,但是我已经熟悉这个操作系统,对其的架构也大致了解,而且也在慢慢的成长中。开始,我是在虚拟机下试验性操作,但是有些不爽,于是乎,我就在损失大量资料的情况下装好了ubuntu。为什么我喜欢在linux环境下work呢?因为在其下,我就没了想玩游戏的冲动,这样我可以一心一意的写代码和浏览资料。linux的线上资料很多,我觉得影响最大的是[url=http://linux.vbird.org/][/url]和[url=http://docs.huihoo.com/c/linux-c-programming/][/url],一个是关于基本操作,一个是linux c环境编程的。新手可能认为CLI(命令行)没有GUI方便,开始我也这么认为。可是由于几次ubuntu的GUI崩溃之后,我发现CLI是很强悍的,因为GUI只是它的一个软件,而没有写入内核,这时你的系统依然正常运行。CLI安装软件也很方便,就敲几个命令就可以,而且你有功夫,也可以编译源代码,这不比windows爽多了吗。linux下很少配置环境变量,就算是都是以用户配置文件呈现的,操作起来比GUI的鼠标快多了,而且稳定很多。现在,我就这样对windows下的软件安装已产生怀疑了。如果你想学点东西,用linux;如果你时间多得没方法花,用linux;如果你是神,用linux;如果你用毁掉pc,用linux。 论坛

求指点个人三层架构理解

10-27

刚从学校毕业出来,知道了三层架构这一说,但是三个月来看了两个项目代码,个人感觉里面的业务逻辑层没意义似的,两个项目里的BLL都是接收表现层传来的参数,然后直接返回调用数据访问层的方法的返回值,不做任何处理。个人感觉至少也要对UI传来的值处理后在传给DAL,DAL返回的值再处理后传回给UI吧。还有觉得在写DAL层时,并不是根据BLL写的,不是BLL要什么DAL就写什么,因为要是作为一种“抽屉”式的,下层并不知道上层要什么,对上层是无知的,这是我们在设计DAL层时,把最基本的数据库操作写进去,然后对于一个具体的项目,就要BLL对DAL返回的筛选处理后才返回给UI。rn个人理解UI传给BLL一个员工的工号,要BLL返回该员工的姓名与所在部门名称。但是在DAL并没有根据员工的工号直接可以查出姓名与部门的方法,但是有根据工号在员工表里查出员工所有信息的方法,这里并没有员工所在的部门ID,然后还有一个方法可以根据部门ID查出部门的所有信息。我们在BLL就应该这样处理:根据工号先查出员工所在部门的ID与姓名,然后再根据部门ID查出部门的所有信息,最后只把员工的姓名与部门名称返回给UI就是了。rnrnrn新手描述可能不准确,理解可能有所偏差,还望各位指点,要是有比较针对性的代码发我邮箱,在这先谢谢了haoxin2634@163.comrnrn 论坛

个人对于编程的看法

04-23

程序人生(Zjxing)rn2002年4月22日星期一1:04分rn今天看了CSDN上的一篇文章,很有感想,自已独坐在电脑旁回想去进入2002年到现在为此的日以继夜的写着程序。平均每天只睡4-5小时,真的很有感触。rn自已算了算,从2000年初进入一家电脑公司工作,2000年6月进入“中新”做网络管理员,到现在成为一个半程序员,这仿佛是一个梦,因为我读大学时的梦想就是将来做个出色的程序员。rn但做程序员真的很不容易的,很多的人不能理解,花大量的时间看相关的书籍,如果一天不看书,仿佛就要被KILL掉的感觉,有时压得自已很累,我也常常想,我的选择是否正确?rn但是我觉得一个工作能让自已为之全心全意,而且每天下班就想着上班的感觉是我以前每个月2-3千元但仿佛异日如年的感觉所不能给我的。rn我现在的工资是750元(一年中有几个月有1300),在湛江不高也不是低了。但我从来不为工资而影响我的工作热情,在一个月前,经理问我,在最多一个月内能否做出一个电脑测试台来(则是控制一块采集卡,里面集成了8255,A/D,D/A,和8253的ISA卡来进行相关的日水器的测试电脑平台)。rn我想了一会,说,可以!(我是电气工业自动化专业的,专科。)rn接着就是没日没夜的工作了,由于我以前是用VB,现转为主攻C#和NET平台了,于是我选择了用C#、ACCESS、ADO。NET来开发。rn但相关的C#和ADO。NET的资料很少,在写程序的过程中一直是一种“疑看山穷水尽,最后又柳暗花明”的感觉。看英文的MSDN看得我头重脚轻。rn不知多少个日子,写啊,上网看资料,8253,8255,相应的技术资料,上书店,或看书或买书(我平均一个月花1百块钱买书)的时间占了我一天的几乎20个小时。我想了一下,自2002年至现在我平均一个星期上了“购书中心”3次,每次1个半小时。rn现在,我终于把最后的用8253来测出输入频率的功能也做好了。离交货的日子也就要到了。rn这些日子给我的最大收获是:rn当你给游戏(我以前常玩QUAKE、HALF-LIFE)迷住了,或自已总觉得学习不进去的时后,不如勇于接受一些看起来,(当然,只是相对于自已啊,我的工作在某些高人的眼里可能几天就能搞好的。)是不能完成的任务,比如:ADO。NET,8253的用法,在WIN2000中调用中断来实现精确的实时数据采集、面向对象的实际应用。等等很多我以前比较模糊的概念在我完成这个项目(见笑了)后都在我脑子里刻下了。rn我相对于1个月前的我是一个质的进步。rn我对于我选择编程这一行的观点是:无论你说编程好还是不好,蓝领还是白领,JAVE 、C、C++、还是C#好都好吧,我都会坚持一点。我会以我的兴趣为主导的,我爱编程,我爱我在早上3点多找到我几天以来被困扰的问题的答案时的那种自已对自已说“YES”的感觉。因为爱所以爱!!!rn我爱编程,所以我选择做编程的工作。无论以后成功也好失败也好,我都可以对自已说,你已努力证明了,这就行了。。。。rn补充一下,我并不是说程序员的劳动不值钱,我只是认为我的水平不高,在这个工作上能学到东西所以才会给老板拼命干的(其实是给我干,因为我能从中学到东西,有时我想,老板给钱我学习也好啊)rn ZJXINGrn zhiang_xing@163.netrn 论坛

软考的真相——个人看法

10-18

软考的真相——个人看法rnrn本人本科毕业后留校工作,从2002年开始参加了多次软件专业考试,获得了软件工程师、软件设计师、网络工程师和信息系统项目管理师的证书。最近觉得应该讲一点关于软考的感受了,希望大家能对这个中国自己的考试有个比较清晰的认识。rnrn软考有它的积极作用,考试费便宜,知识面广,能够对IT基础知识有个全面的评估。但是,软考有很多问题,它现在的流行和它的实际价值很不相称。rnrn1)考试的针对性差,每年各个科目的试题有很多类似的,不利于针对性的考核目标。rn2)历年考试之间关联性大,虽然对于考试复习很有好处,但是这也促成了“中国式”应试备考和教育培训行业。rn3)大量的软考培训泛滥,质量良莠不齐,浪费了很多学子的钱和时间。rn4)特别的,根据2004年信息产业部的关于软考的文件,里边规定了证书要3年一次认证,还要出具相应的辅导证明。这很奇怪,因为对于从事IT行业的人来说知识是连续的,学习也大多是自己组织的,可一个证书再认证还要参加辅导,而且据我所知还需要在指定的培训机构,费用还不菲(快赶得上重新考试了),先不说培训质量,至少这剥夺了或者强制了证书人员。这让我第一感觉,这是一个持续性的给相关部门赚钱的机会。对于我这个有N个证书的人,实际工作与计算机关系很密切,自觉根据从业经历等就可以认定我的各个证书。rn5)软考的实际价值可能打折,应试的考试很快就会变成没用的招牌,和一部分通过背题得来的外国认证一样,缺乏考核实际的动手能力和保持知识连贯性的考试形式,即使和我国现行的落后又不平等的人事制度关联起来,软考的价值终究会被大家了解。rnrn软考虽然有这么多缺点,但是在某些情况下也有一个好处:现在很多公司面试都要考试,可是出题的人的水平一般(在公司做实际工作多了,突然出理论基础试题都会很不适应),很多人都找等级考试、软考等的题来考,这对于认真准备过软考的应聘者来说是个好消息。rnrn希望大家在参加软考的同时,不要把它当作学习的一切,而只是一个IT基础知识的查缺补漏,实际的动手能力和项目经验对于IT事业的开始更有益处的。rnrn祝大家开心快乐! 论坛

关于BYOD的一点个人看法

11-02

BYOD,即携带自己设备办公,华为叫法是企业移动安全,为什么这么叫呢?因为华为针对移动办公可能面临的安全问题着重推出的解决方案,可以说安全问题是BYOD发展冷了又热,热了又冷主要难题,同时,BYOD在发展过程中还面临以下问题,这些都是企业,机构及个人考量BYOD的因素。rnrn网络瓶颈rnrn众所周知,我们国家的国土幅员辽阔,在基础网络建设方面肯定还有很多地方并未跟上。如何提高对网络资源的合理利用。在这一点上,除了尽可能快的更新基础网络设备外,合理的配置BYOD的设备也很关键。rnrn成本问题rnrn成本,不管在什么项目里都是永远绕不开的绝对主题。不论多么好的解决方案,一旦在成本上超过了客户的计划成本就很有可能被客户否决。rnrn企业安全与员工隐私之间的矛盾rnrnBYOD虽然极大的提高的员工的工作效率,但毕竟不是使用企业内部的硬件资源。这就涉及了,员工隐私和企业机密受侵犯的双重风险。rn华为针对这方面的问题,着重推出了BYOD的解决方案,从移动终端安全、网络传输安全、应用安全、敏感数据安全,以及安全管理五个维度对移动办公进行全方位防护,目前在[url=http://developer.huawei.com/ict/cn/#utm_source=csdn&utm_medium=csdn&utm_campaign=csdn]华为开发者社区[/url]已经提供基于Android,iOS,Cordova等主流开发平台的开放接口。开发者集成eSDK包,调用这些接口,就能实现客户对移动安全的要求。rnrn以上是个人的一点拙见,欢迎大家指正,分享。 论坛

关于东软的一些个人看法!!!!!!!!

08-20

我有一位同学在东软,今年刚去!!从小有乙肝,招聘的时候说得好好的没有事情的,但过了三个月的试用期,公司又说不要他了,但体检的时候明明有好几位老员工也是阳性的,他们也没有事的。可怜我的那位同学在东软白白作了毕业设计,还干了三个月!!!!!!!!!!!!!!rn我真的不明白东软怎么会是第一名,他在我们城市招的学生基本上都是别人剩下的,再就是一些比较差的大学的学生,我倒不是对那些学校又意见,只是对此表示怀疑!!!!人才是企业之本,东软拍拍胸口,你能留得住那些高手吗??你们的培训是好,但其他公司也差不到哪去?都那么大了,人的能力基本定型,真不知??>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>rn其实我的那位同学是一位很上进的人,在校成绩也很好!!!!!!当初在好几家公司中选择了东软,但如今,将他开除,你们有没有为他考虑???????现在招聘已过,作为应届毕业生,很难找到工作的,因为没有工作经验的。这样对他的一生或许都有影响!!!不知他们怎么想的??rn强烈抗议东软的此种行为!!!!!!!!!!!!!!!!!!!!!!!!!!!!rnrn我对事不对人,请CSDN中的东软同行谅解!!!!!!!!! 论坛

没有更多推荐了,返回首页