Java疾速开辟框架
来源:北大青鸟新途麓谷|发布时间:2016-05-21|浏览量:
摘要:LML基于SSH。一向以来都被公司应用的Castle框架的疾速精练而服气,在不寻求运转效能的环境下,它可谓完善,这固然还要感谢带它来公司的某司理。LML在这类环境下的夹缝中降生。我并不是高手,所以LML也不算圆满。
起首:LML基于SSH。一向以来都被公司应用的Castle框架的疾速精练而服气,在不寻求运转效能的环境下,它可谓完善,这固然还要感谢带它来公司的某司理。可是,别人的毕竟是别人的,打心里觉得自身的才是最好的。我水平无限,我没有才干能够或许在java平台上从头起头造一款媲美Castle的框架。站在伟人的肩膀上,良多工具就不是很复杂了。SSH是为人熟知的开源Java Web框架,成熟而又不变,应用率也比力靠谱,因此萌发了在SSH的基本上在此封装改造,构成一套框架的设法。
其次:LML的模板引擎应用velocity,语法俭朴,也可以很随便的借用codesmith等代码天生东西天生模板。这其实是适宜代码俭朴的准绳!应用velocity的别的一个缘由是我们在。Net中一向应用Nvelocity,他们两者语法很是近似,大部门代码几近能够做到无点窜移植。这一点今后会有事例的。
第三:LML支撑layout。不论是应用frame仍是采取各类嵌进页面的格式,都是为了不重复的书写公用的页面,就像我们在某处声了然一个公用的变量,那末就没必要要处处书写公用变量所代表的值,别的也给点窜带来了便利。它真实相当于我们在asp.Net应用的母版。
第四:html页面(View)直接支撑挪用在后台供应的静态或非静态方式。我觉得多么或许被某些人感恩戴德,我就曾被一个不知其名的小同窗骂过,可是这必定是很有效的。在原始的aps.net中,我们不分甚么前后台,以后呈现了MVC,某些人(大部门是刚进门的吧?)一向在叫唤视图和逻辑分手。分手莫非是尽对的吗?小我以为,视图确切应当和停业逻辑分手,而尽对不克不及和功用逻辑分手。停业逻辑此处是指为了完成必然的停业而做出的各类复杂的数据处置,功用逻辑此处是指为了提醒数据而做的逻辑处置。我们查数据,那尽对不是目的,真实的目的是提醒数据。就像或人明珠暗投,肚子里有万万数据,而不克不及提醒,那还有甚么用呢。我但愿能够或许应用更简约的格式来提醒数据,例如更俭朴的轮回,例如这里的我们能够直接挪用后台方式中止俭朴的数据处置,已抵达更完善的数据提醒。
第五:谢绝少量的设置配备摆设文件。有一种思惟叫做,商定优于设置配备摆设。我一向觉得SSH中需求我们设置配备摆设的太多,就算一些眇乎小哉理所当然的也要配,确实不堪其烦。所以我斗胆的做出决议如非需求,我将尽可能的避免设置配备摆设文件,例如我不再将Action托管给Spring。与其让Spring采取request感化域来办理Action,还不如让Action自生自灭的好,归正就算是托管给Spring,我也没有见到效能更快。最新的SSH支撑应用注解的格式来办理设置配备摆设,可是我仍觉得这没有那末需求。所以对普通环境,Struts的Action我应用通用设置配备摆设,商定一下,甚么都变得轻松了。这一切都是对我们来讲,不明白列位的环境是怎样容貌的?固然还有一些其他的例如log4j等的设置配备摆设,我也是能简就简。
第六:局限的应用Model。自从面向对象大行其道,垂垂深切人心,好回好,欠好的一面也影响了我们的断定。思惟固式致使我们请求我们只依照用户的ID查出姓名和春秋两列是,我们也必需求查出一个具有四十个属性的Model列表。这,好仍是欠好?我们更倡导应用原生的sql往查询,疾速而有用。固然,在编纂和保存的时辰,连系struts2的主动绑定功用,应用Model更能进步编码效能。在应用效能一词时,我是很严谨的。这里仅仅只是编码效能或开拓效能,至于运转效能,一系列的绑定翻译支配,最初再实行sql,总没有直接实行sql更快吧?
第七:淡化惯例分层。我一向不倡导所谓的三层架构,甚么多层,乃至几十层。有时辰全部停业逻辑你只需求写10行代码,而你又自愿要在每层写一句代码。汗,此刻摆脱了。我至今没有见过万万级此外项目架构都是甚么容貌的,我们做过的最大的项目不外是200-300万,我们取得的阅历是:不走平常路,开拓俭朴,维护也速度。到此刻也没有碰到一个客户说:我表情欠好,把你们此刻应用的Ms sql换成mysql吧!所以在不推敲这些一向被一些人吵得火热的矫捷性可设置配备摆设的环境下,我们的框架愈加展越俭朴,越趋向于矫捷。就今朝我能看到的,大部门想象都是过渡想象。没有需求为了炫耀你的想象方式学得好,此处就非要做一个工场!俭朴的才是最好的。
第八:权限和菜单。我觉得毫无疑问的是,对一个正在应用,能够被应用的框架来讲,非论它怎样分层,也非论它是轻型仍是重型,不论若何它都要有自身的一套菜单和权限办理战略。我们一向做得某些停业系统,权限就是生命,不成草率。LML就供应了响应的接口,能够或许便利的搜集天生权限和菜单。在接口的基本上细致的停业系统便能够中止办理了。
第九:主动化分页。不成避免的分页,也就催生了不成避免的代码。作为一个架构师或一个项目司理,你能够请求法式员在每个模块中都要自行弄定分页逻辑,大部门环境下显现仍是能够或许被俭朴集成的。这很不当。LML采取的分页将没必要要重复造轮子,不论是查询前提,仍是排序,或字段提醒,和分页选项,都能够或许一笔带过,悄然松松。要的就是这个结果,有了这个谁还有需求不时地写分页呢。
第十:AJAX支撑。一向以来AJAX都是主流手艺。坏动静是巨匠都明白Struts中是不克不及直接拜候servlet API的。好动静是,LML支撑return JSON(“”)。就多么,完善的支撑了AJAX。还可运用return Javas cript()向页面输入一段可实行剧本,你或许不体会他的巨大的中央,我们常常用它来提示办事端校验成果,而不消刷新页面,更没必要要考证以后而导向另外一个页面。 我一定是框架的作者,让我讲框架的优点,我能够讲上一天一夜。
上一篇:返回列表
下一篇:罕见JSP中文乱码例子
扫码关注微信公众号了解更多详情
跟技术大咖,专业导师一起交流学习