好,现在我将其分解成3个小主题来进一步阐释。
描述:不理解java
项目阶段:开发阶段
所牵连的项目阶段:设计,稳定阶段,存在阶段
受影响的系统特性:可维护性,可测量性(scalability),执行性
征兆:
java.lang.string
(此处替代你自己喜爱的类)似乎性能很差 解决办法:
你需要提高你的java知识,尤其是了解它的优势和弱点。java的存在已经远远超除了一门语言本身,同样重要的是理解这平台(jdk and tools).具体的,你应当具有做一名java 程序员的资格(如果你还没有的话)——你将对你有如此多不了解的东西感到吃惊。更进一步,将它作为你小组的一部分并向其他人推广,这种方式同样很有乐趣。更进一步,创建一份邮件列表,专心于java技术并且保持下去。(我曾工作过的公司都有这些列表,大多数由于不更新而变的岌岌可危)向你的同伴学习——他们是你最好的资源。
注:
如果你或你团队中的其他成员不理解这门编程语言和这平台,你又怎么能期待建造一个成功的企业级java应用呢?健壮的java程序员对于ejb和j2ee如果鸭子对于水一般。与之相对,差的没有经验的程序员将建造一个质量差的j2ee应用。
描述:不理解ejb
项目阶段:设计
所牵涉项目阶段:开发,稳定性阶段
受影响的系统特性:可维护性
征兆:
解决:
为提高你的ejb知识,花一个周末来阅读ejb规范(1.1规范有314页)。然后阅读2.0规范(524页)来了解为什么1.1规范不再适用和2.0规范能带给你什么。关注规范中那些能告诉你——应用开发者——什么是在ejb中合法的行为的部分。18.1和18.2节是开始的好地方。
注:
不要从你的提供商(指应用服务器或其他开发软件的提供商——译者)的眼里看ejb世界。确保你了解符合规范的ejb模型和特殊的实现之间的不同。这将保证在需要时你可以将你的技术带给你的提供商(或其他版本)。
描述:不理解j2ee
项目阶段:设计
所牵涉项目阶段:开发
受影响的系统特性:可维护性,可度量性(scalability),执行性
征兆:
解决:
学习j2ee关键组件以及每个组件所能带来的优势和劣势。依次涉及各项服务,此处知识和能力一样重要。
注:
只有知识能解决这些问题。好的java 开发者造就好的ejb开发者——一步步地可以完美地成为j2ee领袖的人。你获得越多的java/j2ee知识,你在设计和实现方面的能力越强.things will start to slot into place for you at design time.(想了半天也不知道怎么翻译:-{ )
危机2:过度设计(无论是否是对于ejb)
项目阶段:设计
所涉及的项目阶段:开发
受影响的系统特性:可维护性,可测量性(scalability),可执行性
征兆:
解决:
解决过度设计的方法可以直接从xp(extreme programming)中找到:局部范围内,设计和编码实现最小的暴露的[bare minimum]部分来满足需求,而不要做的过多。当你需要意识到将来的需求,比如平均负载需求和在系统负载顶峰时候的行为,不要试图“第二次猜测”[second-guess]系统将来需要成为的样子。另外,j2ee平台为你定义了特性如可测度性和服务器底层需要捕获的任务错误。
注:
除了上面的解决方式,使用设计模式——它们会显著的提高你的系统设计。ejb模型本身广泛地使用设计模式。如,每个ejb里的home接口是一个寻找者和工厂模式的例子[finder and factory pattern].一个ejb的远程接口担当实际bean的实现的代理,也是容器截取调用和提供服务如透明化负载均衡的能力关键。忽略设计模式的价值是危险的。
我不断强调的另一种危险是:为使用ejb而使用。你的应用的一些部分在不适合被当作ejb模型时候而被设计为ejb模型,你的整个应用似乎使用ejbs将获得无限价值。这是极度的过分设计,我曾看到完美的servlet 和 javabean 应用在并没有好的技术方面的原因而使用ejbs时,变的乱七八糟,不得不重新设计。
危机3:未分离表示逻辑和商业逻辑
项目阶段:设计
所涉及的项目阶段:开发
所影响的系统性能:可维护性,可扩展性,可执行性
症状:
解决:
j2ee平台给你将表示逻辑同导航和控制分离并最终与商业逻辑分离的机会,这被称为model2 结构(参见 resources )。如果你已经掉进圈套,一种比较呆板的做法或许有用。你应该至少使 那些大部分自我包含的片断保持“垂直瘦小”[thin vertical slices](这是说,我如何布局的一个片断要同如何更改我的用户名和密码分开)。在你系统中使用这种方式来重新组织。
注:
在你的工程中使用一种连接ui框架(如标签库)坚固的设计将帮助你避免逻辑分离问题,不要为你自己需要的gui框架设计而烦恼,这会为你带来诸多执行方面的好处。依次评估每一种框架,然后选择最适合你的那种。
危机4 :未在你开发的地方部署
项目阶段:开发
所影响的项目阶段:稳定阶段,并行阶段,存在阶段
所影响的系统特性:正常的心智(your sanity)
征兆:
解决:
联系客服