??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲视频在线观看视频,亚洲av午夜电影在线观看,国产AV无码专区亚洲Avhttp://www.tkk7.com/Hafeyang/category/39096.html前端来源于不断的ҎU篏。我一直在努力?/description>zh-cnTue, 31 Jul 2012 20:43:57 GMTTue, 31 Jul 2012 20:43:57 GMT60谈谈前端lg?/title><link>http://www.tkk7.com/Hafeyang/archive/2012/08/01/how_to_build_frontend_component_lib.html</link><dc:creator>衡锋</dc:creator><author>衡锋</author><pubDate>Tue, 31 Jul 2012 17:19:00 GMT</pubDate><guid>http://www.tkk7.com/Hafeyang/archive/2012/08/01/how_to_build_frontend_component_lib.html</guid><wfw:comment>http://www.tkk7.com/Hafeyang/comments/384477.html</wfw:comment><comments>http://www.tkk7.com/Hafeyang/archive/2012/08/01/how_to_build_frontend_component_lib.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Hafeyang/comments/commentRss/384477.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Hafeyang/services/trackbacks/384477.html</trackback:ping><description><![CDATA[读过Q了解过很多的前端控件库/lg库,试q,体验q多个失败的Q不失败的lg库之后,ȝ下来Q觉得要构徏一个完整的lg库,需要考虑以下几个斚w的问题:<br /> <br /> 1.基础库:<br /> <br /> 注意是库Q不是框Ӟ基础库通常提供底层ҎQ它必须能够屏蔽览?l端的API差异。也许大家脑子里面会弹出一堆前端热门的一些库。在此不讨论哪个库哪个库怎么P一个基库必L供的功能Q?br /> <ul> <li>基本cd的常见扩展:原生的javascript对象API往往在现实中不够用,比如常见的Array.indexOf/remove/eachQDate.parse/formatQ不是怎么装都需要这cL?/li> <li>DOM操作常见ҎQDOM节点增删ҎQCSS selectorQDOMReadyQcontainsQadd/remove/toggleClassQ屏蔽浏览器之间的操作差异。不多说Qh人都熟?/li> <li>一套浏览器机Ӟ以前大家都們֐于做览器类型和版本的检,现在們֐于做览器的Ҏ检,q样更有实际用处?/li> <li>Ajax的封装,对于lg库来讲可无。毕竟组件库本n的实C太会用得上Ajax?/li> </ul> <br /> 2.事g机制Q?br /> <br /> addEventListener/removeEventListener/dispatchEvent 是常见的装方式Q不应该只是DOM事gQ而是M对象都可以做一个事件机制?br /> 对于DOM事g的封装需要屏蔽IE/标准Event的差异提供ؓ用户使用Q事件代理非帔R要,不可视?br /> <ul> <li>事g机制都无一例外的是ZW三方观察者或者叫做沙?Sandbox)实现?/li> <li>事g机制更深的功能是提供一个模块的通信机制?/li> <li>对于lg库,lg实例之间的通信更加重要Q组件实例之间最好不要存在相互引用的关系Q互怸能感知对方的存在Q有了事件机Ӟ可以通过W三Ҏ效的通知lg实例Q减组件实例间的耦合?</li> </ul> <br /> 3.模板机制Q?br /> <br /> 实际上写lg的时候,Dhtml是一件很复杂的事情,模块能够从数据模型,对于lg库来讲通常是配|信息选项。将q些选项D成html字符丌Ӏ但是大家普遍的一个误区是在追求语法的便的和性能。我倒觉得模板要做的事情q不止如此。功能强大的模板不仅仅只完成字符串的拼接Q而是要简化整个DOM操作Q从数据模型到DOM的双向绑定,Model更新了DOM也随之更新。甚臌解决动态DOM事gl定的问题?br /> <br /> <br /> 4.面向对象的机?br /> <br /> 攑֜lg库这个角度去谈面向对象的时候,他是一个架构设计中的一个重要的一环?br /> 面向对象的机制能有效的提升代码的可复用性和扩展性,javascript灉|的语法诸如prototype/closure的方式,能构建出一个强大的cd?br /> 可以使用l承机制扩展已有的组件。也可以用引用的方式装饰(Facade)现有lgQ个人更們֐于用装饰。因为承M不可避免的直接或者间接去讉K父类的一些私有属性方法?br /> q个机制其实军_了一个组件的代码模型Q通常需要解决的问题有:<br /> <ul> <li>该组件承自哪些lg或者基c,或者依赖于那些c?</li> <li>lg实例的管理方式,因ؓ每个lg实例都需要在一个容器中l一存放Q理想的的存放模型应该是树Ş的,在内存中存在cMDOM树一Llg对象树,是否可以通过cd扑ֈ相关实例Q根据ID获取实例Q获取子实例Q父实例Q父/子实例之间的通信父实例的resize是否能通知容器内的实例resize?/li> <li>插g机制Q作Z个非帔R要的扩展机制Q插件能有效的解决组仉的复用部分,通常q部分会叫做行ؓ(behavior)Q对于组件不能提供的甚至是个性化的功能,有没有提供有效的Q够多的扩展点?/li> <li>提供怎样的实例化方式Q?new XXX() ?? q是cMDOM的操作方式appendInstance??甚至有类似jqq种铑ּ。我更觉得应该用appendInstance的方式,q样能更加有效的体现lgCZ间的?子关pR就像DOM操作一P最l组件实例也是树形结构,如果我们直接new XXX() q种方式Q其实相当于声明了一个游L的 DOM节点。实际我写代码的时候发现要理q些lg实例也是比较ȝ的地方,试想一个页面如果有多个lg实例Q需要声明多个实例变量Q或者申明多个对象d放这些实例?/li> <li>lg提供的APIQ一个组件对外暴露的API会包括初始构造方法,公共Ҏ(method)Q事?event)Q对于eventQ提供怎样的eventData也非帔R要?</li> </ul> <br /> 5.模块化机?br /> <br /> 如今模块化的思想已经深入人心Q模块化带来了很好的团队多h完成一大的Q务的可能性,W合高内聚低耦合的思想。到了如今这个时代,万物皆模块?br /> lg库通常是一个庞大的工程Q单靠个雄主义很隑ց的完整全面?br /> 详细的来Ԍ模块化机制涉及:<br /> <br /> <ul> <li>模块本n的定义,注册Q直接媄响一个组件的代码模型Q一个组件是一个模块?/li> <li>模块的依赖申明以及追朔机Ӟ像前面提到的,依赖于那些类Qcss文gQ资源,数据。不仅仅需要声明,q应该可q朔Q依赖的父类Q也能找到父cLw所依赖的资源,q样为按需部v打包Q在U调试提供居多方ѝ?/li> <li>加蝲机制Q因为在开发阶D要么放一个整个组件库代码Q要么是通过一个加载器按需加蝲Q到了线上希望只部v引用C模块lgQ这样可以减实际部|的文g大小。加载机制会涉及到浏览器的javascript/css文g的加载,其是需要尽可能的ƈ行下载而且按照依赖关系先后执行。包括应用模块,可以方便的通过q种加蝲机制延迟Q按需Q按时的加蝲到页面中?/li> <li>打包部v机制Q由于依赖可q朔Q这样实际项目中用到的那些组件可以分析出来,最l可以根据实际用到的情冉|包出适合大小的组件库Q减冗余包的存在?/li> <li>模块间的通信机制Q由于模块减轻耦合甚至是独自孤立存在,lg之间的通信非帔R要,比如通常一个页面上面的菜单lg实例点击需要触发下面组件的更新。如果直接监听菜单事件去更新下面的组Ӟ也许菜单是每个页面都有。但是下面的lg不是每个面都有Q这L事g监听显然耦合较重Q互怾赖对方的存在。如果菜单点击这是告诉第三方我被点击了。下面的lg只去监听W三方的事gQ这L代码思\明显要好q很多?</li> </ul> 需要再ơ强调的是万物皆模块Q这意味着通用lg本n实现是一个模块,实际应用场景中的业务模块也是模块Q都需要遵守模块的U定?br /> <br /> 6.前端的基本开发思想<br /> <br /> 取决于个人经验:比如MVC的思想在组件实现过E中非常重要QModel通常是构造函C那一堆配|信息,View通常是需要通过Model提供数据用户呈现Q实际上View上的操作的相应都需要Model来记住状态。Controller用于操作二者。原理大安知道Q在开发中怎样分清三者界限。保证思\清晰?br /> <br /> 前端中javascript/css/html的角色也cM与MVC。下面的一些代码方式就有违MVC的一些思想Q?br/> <ul> <li>css Expression:不仅IE onlyQ更重要是CSS中写javascriptq个风格不对Q难以维护?/li> <li>javascript直接修改style.xxx='xx'。能写成css class的最好都写成css class?/li> <li>html中直接写onxxx="foo()"Q没有h能保证fooҎ存在不被修改?/li> </ul> <br /> 7.其他需要考虑的问题:<br /> <ul> <li>试用例Q通用lg库是一个庞大的工程Q也许牵一发动全nQ不知道哪个API的变动会影响多少调用者,有充的单侧用例Q一定程度上能保证整个组件库的稳定性?/li> <li>_度Q粒度是一个很值得思考的问题Q其实html的标{֏以当做是一个小的组Ӟ只是因ؓ_度很小Q要完成一个复杂的应用Q有很多的可复用lg都需要用到大片大片的重复html片段。另外一个极端,我们我们把整个页面都写成一个组Ӟ昄没有复用性,跟没装一栗所以选择一个合适的lg_度Q一个组件完成特定的功能Q有利于搭徏出有惌力的应用?/li> <li>一致性:需要有很好的代码规范和U定。才能保证API的一致性,用户也会理所当然的想到怎样用APIQ降低学习成本,一个最常见的例子就事g监听的参敎ͼl一?eventObject,eventData)?/li> <li>文档&Demo:q个不用多说Q没有文档和demo的东西没有hȝ代码怎么使用?/li> <li>性能QDOM操作是组件库的性能杀手,高效的DOM操作其重要Q事件监听也是非常耗时的,能采用代理的都用父节Ҏ代理?/li> <li>资源释放Q组件的资源Q引用是否能完全释放Q尤其是开发SPAQ组件的资源内存释放非帔R要了?</li> </ul> <br /> ȝQ?br /> 雉星星的提Cq么几点Q也是过d作中的体会,当然会有不Q望大家补充Q回头可以check一下现在用到的一些框?lg。欢q讨论? <img src ="http://www.tkk7.com/Hafeyang/aggbug/384477.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Hafeyang/" target="_blank">衡锋</a> 2012-08-01 01:19 <a href="http://www.tkk7.com/Hafeyang/archive/2012/08/01/how_to_build_frontend_component_lib.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>恩,一场气氛很好的技术讨论,jQuery vs YUI?/title><link>http://www.tkk7.com/Hafeyang/archive/2010/11/07/a_perfect_discussion_between_jQuery_YUI_and_for_me.html</link><dc:creator>衡锋</dc:creator><author>衡锋</author><pubDate>Sun, 07 Nov 2010 07:30:00 GMT</pubDate><guid>http://www.tkk7.com/Hafeyang/archive/2010/11/07/a_perfect_discussion_between_jQuery_YUI_and_for_me.html</guid><wfw:comment>http://www.tkk7.com/Hafeyang/comments/337457.html</wfw:comment><comments>http://www.tkk7.com/Hafeyang/archive/2010/11/07/a_perfect_discussion_between_jQuery_YUI_and_for_me.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Hafeyang/comments/commentRss/337457.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Hafeyang/services/trackbacks/337457.html</trackback:ping><description><![CDATA[事情的来由是?1?号在<span id="eg0a0w6" class="Apple-converted-space"> </span><a target="_blank"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 20px; font-family: Verdana, Arial, Helvetica, sans-serif; color: rgb(73,73,73); font-size: 12px" class="Apple-style-span"><a style="color: rgb(2,122,198); text-decoration: none" target="_blank">Quora</a></span></span> </a>上有人提问:<a >http://www.quora.com/How-could-YUI3-improve-its-image-compared-to-jQuery-MooTools-etc/</a>  从标题来看只是想讨论YUI的的镜像问题Q因为目前YUI的站Ҏ <a href="developer.yahoo.com/yui/">developer.yahoo.com/yui/</a> Q也?a >http://yuilibrary.com/</a> Q文章也拿YUI与jQuery,Mootools来了一番比较。没惛_q文章引发了一场比较蘪轰烈烈的讨论QjQuery的发明者John Resig , <span id="8w80swe" class="Apple-converted-space"> </span>Yahoo! 大牛 Zakas的回复?br /> <br /> 非常感谢<a ><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 20px; font-family: Verdana, Arial, Helvetica, sans-serif; color: rgb(73,73,73); font-size: 12px" class="Apple-style-span"><a ><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 20px; font-family: Verdana, Arial, Helvetica, sans-serif; color: rgb(73,73,73); font-size: 12px" class="Apple-style-span">Dreamer<span id="ogg0ssc" class="Apple-converted-space"> </span></span></span></a>的ȝ</span></span></a>?a >taobao UED 的翻?/a>Q是我有q能在比较短的时间了解这ơ讨论的始末。讨论的气氛很好Q回复都是经q深思熟虑而客观的。不ҎM主观色彩。但是想要有一个绝对的胜负是很隄Q毕竟Q何一U技术框架的存在都有他的适用环境和生存法则,拿来比较也是能相互进步?br /> <br /> 其实我认为结论很单,jQuery适用于中型|站QYUI适用大型的网站应用。这炚w常同意。对于jQueryQ单个插件来讲能完成的功能有限,而对于完整的UI解决Ҏ来讲,jQuery UIs没有YUI那样齐全和规范?br /> <br /> 我不x事g本n来讨论,看完后我们在技术讨论的时候是否能做到谦虚而又不失观点?做技术的人最忌讳的是心Q气躁Q浅辄止,只有深入M解一个东西了Q甚x向深I才能说ZU技术的始末?nbsp; so stay calm. <img src ="http://www.tkk7.com/Hafeyang/aggbug/337457.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Hafeyang/" target="_blank">衡锋</a> 2010-11-07 15:30 <a href="http://www.tkk7.com/Hafeyang/archive/2010/11/07/a_perfect_discussion_between_jQuery_YUI_and_for_me.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>架构之\(3)-永恒的话?CRUDhttp://www.tkk7.com/Hafeyang/archive/2009/12/25/307292.html衡锋衡锋Fri, 25 Dec 2009 08:52:00 GMThttp://www.tkk7.com/Hafeyang/archive/2009/12/25/307292.htmlhttp://www.tkk7.com/Hafeyang/comments/307292.htmlhttp://www.tkk7.com/Hafeyang/archive/2009/12/25/307292.html#Feedback0http://www.tkk7.com/Hafeyang/comments/commentRss/307292.htmlhttp://www.tkk7.com/Hafeyang/services/trackbacks/307292.html前面说过所谓的业务大多数是crud。那从这个入手,我发现要把这个配|出来,配置的结果不a而喻Q能生成crud的页面。我们其实只需要一些元数据(meta information)。元数据q当于我们q_用的hibernate 里面的cfg.xml之类的东ѝ用来描q实?字段的一些信息。从业务的需要来Ԍ单凭q个xml的配|还不能生成crud的页面。还需要很多的信息。下面是q些字段信息的整理?/p>

TABLENAME

表名
TCOLUMNSNAME 表字D名
TCOLUMNSTYPE 表字D늱?/td>
ECOLUMNSNAME 实体字段?/td>
ECOLUMNSTYPE 实体字段javacd
COLUMNSLENGTH 字段长度
COLUMNSNULLABLE 是否允许为空
ISPRIMARYKEY 是否主键
STATE 启用状?/td>
DESCRIPTION 描述
COLUMNID 字段序号
LABELTEXT 字段label名称
DEFAULTVALUE 字段默认?/td>
CANSEARCH 是否为查询字D?/td>
SEARCHINPUTTYPE 查询呈现方式,文本?下拉?..
SEARCHOPERATOR 默认查询q算W?{于/大于/..
FORMAT 字段昄格式,日期格式/数格式/货币格式
CSSCLASS 呈现css class
READONLY ~辑时是否只?/td>
EDITINPUTTYPE ~辑呈现方式 文本?下拉?..
CREATESHOW 新增时是否显C?/td>
UPDATESHOW 更新时是否显C?/td>
VIEWSHOW 查看时是否显C?/td>
BLANKMSG gؓI?/td>
VALIDATETYPE 校验cd,数/整数/正整?..
INVALIDMSG 校验不通过警告
MAPPING 数据字典,其实是配置下拉框的通用的数据源。比如通常{1:?0:否}?/td>
MAXVALUE 最大?/td>
MINVALUE 最?/td>
VALIDATEOP 校验比较cd
VALIDATETO 校验比较对象表达?/td>
VALIDATEREGEXP 校验正则表达?/td>
VALIDATEIF 校验用条g
CTABLE U束表,q?个属性生成下拉框数据源?/td>
CCOEDECOLUMN U束值字D?/td>
CVALUECOLUMN U束文本字段
CCONDITION U束文本字段

我估计很多h看了q些属性后W了Q的,很多么做q。后来发现这样做很不灉|Q无法满需要,其实q个问题很简单,Z么不应用一U表辑ּQognl,el之类的表辑ּ攑֜配置wQ这些属性就灉|很多。siebelq样的品,不也有一些地斚w要些一个脚本,比如escript之类的东西么。想x们天天琢的业务Q不是q些东西么。把它配|到数据库里面,接下来就是怎么生成面的么。我看到的目前大多数的做法是做一个代码生成器Q我认ؓq种做法很不好,代码生成器本w是解决了很多机械活Q但是关键还是你生成的代码本w的质量。没错,你可以用代码生成器去免去上万行代码要手写的尴,我不仅要问,Z么会弄成上万行的代码Q有的hq喜Ƣ吹嘘我写过上万行的Java代码Q我更是嗤之以EQ这不是你的骄傲Q这恰是你的悲哀。上万行的代码,我见q的有两U可能性,一个是java/jsp代码没有重构Q没有封装。二是数据库的设计有问题Q一个表200个字D,面能不复杂么。第一U是架构师要解决的问题,W二U那据是设计时要注意的事情了。扯q了。界面是怎么出来的。至不是用代码生成器跑出来的。接触过ruby on rails 或者grails的朋友肯定知道里面的activerecord/scanffoldl合快速实现crud。不q他说白了也是在生成面+改代码,我还是不喜欢。因为界面确实是太灵zR我的思\分两个个斚w入手:1.装字段Q根据上q字D属性封装成jsp的tag。这个tag通过字段名读取元数据属性,生成览器执行的html,javascript?:所谓页面不久是指定q个面有哪几个字段不就得了。查询页面,那几个字D|查询条gQ读取字D늚查询属性。编辑页面,无非是指定编辑哪些字D就行,在这个基上做一个小工具Q页面就很容易出来。当Ӟ好的框架q要解决一个问题,是变更。怎样能以最的代h做变更。这个我是这么想的。比如说Q某个表删除一个字D,我们可以提供一个工h询哪些页面引用了q个字段Q然后用E序一q删除,其实q个实现也不难,因ؓ每个字段无非是jsp面的一个tag么。大不了用个全文搜烦。用正则一替换完了?/p>

上面是我ȝ的快速实现crud的一些想法。这部分其实是很多重复性劳动的ҎQ把q些工夫省下来了。开发效率高很多?/p>

衡锋 2009-12-25 16:52 发表评论
]]>
架构之\(2)-我所理解的业务和技?/title><link>http://www.tkk7.com/Hafeyang/archive/2009/12/25/307291.html</link><dc:creator>衡锋</dc:creator><author>衡锋</author><pubDate>Fri, 25 Dec 2009 08:51:00 GMT</pubDate><guid>http://www.tkk7.com/Hafeyang/archive/2009/12/25/307291.html</guid><wfw:comment>http://www.tkk7.com/Hafeyang/comments/307291.html</wfw:comment><comments>http://www.tkk7.com/Hafeyang/archive/2009/12/25/307291.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Hafeyang/comments/commentRss/307291.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Hafeyang/services/trackbacks/307291.html</trackback:ping><description><![CDATA[<p>在过ȝ开发过E中Q我发现所谓的业务Q在企业U应用的背景下,最l的实现操作都是数据库的增删ҎQ或者说通俗点说都是数据库的操作Q其他的业务cd多多少是在围绕数据库的操作。在用户的需求最l{化成设计再到代码的实现?/p> <p>我这里说的业务可能是一个有别于技术的东西Q有些东西纯_Ҏ靠技术来实现的,用户没有概念Q跟他说也没有用Q比如做接口Q你可能用web service 。用TCP通信{等。这些很多是用户是看不见的?/p> <p>我认Z个比较理想的业务pȝ应该是业务驾临在技术之上,二者相得益彰。技术需要解决的问题是他有一个^収ͼ能让业务方便的在q个q_上实现。所以我们在做架构的时候要分清楚哪些是业务需要解决的问题Q哪些是技术需要解决的问题?/p> <p>从业务的角度看技术,我希望业务能够非常方便的在这个^C实现Q不仅如此,我还希望我的业务变更了。能够以最的改动或者不改动p够实现变更。理想的做法我希望业务都是配|进ȝQ我在变更的时候只需要修改相应的配置可以了。当?00%的配|出来也不太现实Q据我所知,在sap,siebel里面的报表是必须开发的。因为报表主要是查询Q查询就非常灉|Q单靠配|能难达到目的?/p> <p>从技术的角度ȝ业务Q再好的技术加上一个不入流的设计,都ؓ成ؓ教科书上一个很好的反面教材。业务h员需要在对业务的把握上设计Y件?/p> <p>既然要复用,要能够用配置实现业务Q那配置些什么东西了?那些地方可以配置。这个就是框架要做的事情了。说到框架大家最喜欢议论的就是怎么快速实现crud了。毕竟,一个系l的很大部分都是在做q个事情?/p><img src ="http://www.tkk7.com/Hafeyang/aggbug/307291.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Hafeyang/" target="_blank">衡锋</a> 2009-12-25 16:51 <a href="http://www.tkk7.com/Hafeyang/archive/2009/12/25/307291.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>架构之\(1)-开?/title><link>http://www.tkk7.com/Hafeyang/archive/2009/12/25/307269.html</link><dc:creator>衡锋</dc:creator><author>衡锋</author><pubDate>Fri, 25 Dec 2009 07:23:00 GMT</pubDate><guid>http://www.tkk7.com/Hafeyang/archive/2009/12/25/307269.html</guid><wfw:comment>http://www.tkk7.com/Hafeyang/comments/307269.html</wfw:comment><comments>http://www.tkk7.com/Hafeyang/archive/2009/12/25/307269.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Hafeyang/comments/commentRss/307269.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Hafeyang/services/trackbacks/307269.html</trackback:ping><description><![CDATA[<p>不知道多久没有更新blog了。一直以来都惛_写我在架构方面的思考。在q去的将q两q的旉里,我从一个实习生C个自U的架构师。我一直在不断的学习,在学习中融入我的思考?/p> <h2>背景</h2> <p>应该说我从事的是企业理软g开发,blog标题也说了。做销售领域,怎么说现在的客户也是在国内很有名气的。现在的公司也专注的在的企业信息化的工作。我们面对的业务主要是销售领域,我们部门也曾l做q一些不太成功的crm。售?售后的领域,x我们天天说的是企业应用我认Z得上了。在我的理解里面Q企业的应用在业务上是一个很专业的领域,需要对软g开发商h相当的业务能力,公司喜欢把我们的业务人员叫业务顾问,大抵的意思就是我们能提供一个行之有效的解决Ҏ吧。这更说明我们对业务要有相当的了解。所以我们可以专注的做一个行业,做一个领域,把这个领域做_ցZQ才能主导市场。说大了。这些当然不是我现在考虑的问题。我只是介绍一下我的业务背景。技术方面,用的是j2ee环境?/p> <h2>我们面的问?/h2> <p>主要q是两个斚w吧。一个是业务斚w的,需求不定啦,永远不停止的变更啦,客户的抱怨啦Q迟q不能上U啦。一个方面是技术方面,代码都是copy/paste啦,大量的无聊的重复性劳动,写代码慢慢的成了体力zR其实这些都是大家经帔R到的问题?/p> <h2>我的看法</h2> <p>q些问题都很宽泛Q不是我一个在叽叽喛_几天p够全部解决的。我惌决的问题是怎样通过技术手D实C务的实现Q从而Ş成一个高效的复用的解x案。领gx我们的这个领域做成一个解x案,形成一个品,可以拿来实施。其实这个与我最自己的目标还是蛮相近的,我也希望我能?开始做Z个品,从技术走向市场,q是公司为用户创造h值的更好的体玎ͼ也是我个人的能力的体现?/p> <h2>写作计划</h2> <p>q个话题我想说的很多Q都是自己在实践中的思考,我的x是从技术的角度切入Q然后到设计Q最l我惛_Ş成一个我认ؓ比较理想的业务实现框架。下面是q个pd的烦引?/p><img src ="http://www.tkk7.com/Hafeyang/aggbug/307269.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Hafeyang/" target="_blank">衡锋</a> 2009-12-25 15:23 <a href="http://www.tkk7.com/Hafeyang/archive/2009/12/25/307269.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://bwgdbjb.com" target="_blank">ĻȫĻ</a>| <a href="http://5gz0z.com" target="_blank">ƷѾþþþþþþ</a>| <a href="http://cc45987.com" target="_blank">ĻƵ</a>| <a href="http://deyingwh.com" target="_blank">޹Ƭ߹ۿ</a>| <a href="http://zmtme.com" target="_blank">ŮһͰһһƵ</a>| <a href="http://626393.com" target="_blank">޹ӰԺ</a>| <a href="http://bjfljg.com" target="_blank">ؼavëƬѹۿ</a>| <a href="http://yw835.com" target="_blank">һA</a>| <a href="http://sjzbosite.com" target="_blank">ƷѾþþþõӰ</a>| <a href="http://3x79.com" target="_blank">ҹƵ</a>| <a href="http://hbjpxnyqckj.com" target="_blank">Ļ߿Ӱȫ</a>| <a href="http://xbooktxt.com" target="_blank">Ļһva</a>| <a href="http://xiaochidaquan.com" target="_blank">ɫҹƵ</a>| <a href="http://lanoss.com" target="_blank">޳߹ۿ</a>| <a href="http://7766ks.com" target="_blank">Ļ2019</a>| <a href="http://52099jy.com" target="_blank">һ</a>| <a href="http://ywgj50225.com" target="_blank">Ƶѹۿ</a>| <a href="http://guoyit.com" target="_blank">߹ۿ</a>| <a href="http://lyczyb.com" target="_blank">ɫ6</a>| <a href="http://tccqdy.com" target="_blank">鶹˴ýѹۿ</a>| <a href="http://roocos.com" target="_blank">ŷ͵ҹɫ</a>| <a href="http://426366.com" target="_blank">ʹA18Ƭ</a>| <a href="http://jsky163.com" target="_blank">Ʒһ</a>| <a href="http://qu41.com" target="_blank">ҹþþӰԺ</a>| <a href="http://diswooo.com" target="_blank">ƷAVר</a>| <a href="http://littlevv.com" target="_blank">ӰԺ</a>| <a href="http://maomaots.com" target="_blank">޸Ƶ</a>| <a href="http://35419470.com" target="_blank">ձĻ</a>| <a href="http://t66p.com" target="_blank">˳˳ۺ</a>| <a href="http://3344by.com" target="_blank">av鶹aӰ</a>| <a href="http://saozib.com" target="_blank">þþþƷƵ</a>| <a href="http://fl6fe.com" target="_blank">ۺɫһ</a>| <a href="http://zz4466.com" target="_blank">һ뾫Ʒɫ</a>| <a href="http://zhiwajic.com" target="_blank">99þѿƷ</a>| <a href="http://asdfghjklzxcv.com" target="_blank">޾Ʒһۺ99þ</a>| <a href="http://nmcytsi.com" target="_blank">˵va</a>| <a href="http://331927.com" target="_blank">91ѹۿ</a>| <a href="http://4eeyy.com" target="_blank">޸Ʒһ</a>| <a href="http://32-k.com" target="_blank">avƷfc2</a>| <a href="http://qinglou31.com" target="_blank">ƬվAëƬ</a>| <a href="http://www-774220.com" target="_blank">ƷѦvƵ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>