Java阵营一直倡导开源,开源运动如火如荼展开,催生了无数组件。但是,坦率的讲,这些开源的组件中,能够直接拿过来,不做任何改造,就能用于商业软件构建,满足功能和性能的要求,这样的优秀组件不多见。因此,核心软件开发者时常面对的尴尬局面是:大量的开源资源,都不满足我的要求。
实际上,组件设计是软件设计开发最精髓所在,凝聚了数据结构、面向对象、设计模式、线程并发同步、操作系统等诸多领域的最核心技术,一直是设计开发领域彰显技术水准的最高领地。
一个组件,要想被广泛重用,满足不同系统的使用要求,就要求组件有足够的能力适应不同的应用场合,提供满足需要的功能,并表现出优秀的性能。因此,组件设计过程中,组件设计者要考虑的问题非常广泛而复杂,组件设计者需要具备的知识、技能和经验要求非常高,一般工作经验至少在5年以上才有可能涉足组件设计这个领域。这也就解释了,为什么优秀组件不多的原因了。
接下来将对目前业界存在的诸多技术争论、误区进行澄清,让读者从所谓的“业界潮流”、教条、“黄金定律”中走出来,真正理解组件设计过程的核心原则。这些核心原则如下:
原则一、精准解决共性问题
原则二、无配置文件
原则三、与使用者概念一致
原则四、业务无关的中立性
原则五、对使用环境无依赖
原则六:单类设计和实现
分享到:
相关推荐
该文档摘自千锋教育高教产品研发部编著的《Java语言程序设计》,对Java语言有兴趣,但不是很了解的可以学习这本书,书中内容丰富,讲述了Java的基本语言构成及编写思路,还有多个项目案例结合讲解。本书适合Java入门...
java 数组 函数 可以简易的对数组进行输出等。引用包import com.bruceeckel.util.*;即可。摘自JAVA编程思想。
摘自jr源码,是jdk的源码,有需要研究java集合类的可以下载
java程序员必读基础篇 摘自南大百合精华篇
23种设计模式类图,摘自设计模式之禅(第2版) 都是比较清晰的图片,可以进行组合打印。
java小游戏贪吃蛇程序代码摘自网上。问题不会太大。可能有些格式问题,比较容易改。当然,如果按罗凯的习惯,肯定没分。
摘自:北京海脉信息咨询有限公司 利用Java开发数据库应用时,经常需要在用户界面上显示查询结果。我们可以利用Vector、JTable、AbstractTableModel等三个类较好地解决这一问题。 类Vector: 定义如下: ...
java 将excel里面的数字时间转化为准确的时间格式;具体来源有点忘记了,实现是摘自了开源代码里面的一段。
代码原封不动摘自《COM技术内幕》,只不过从MAKEFILE转为vs2008实现。 vs2008包含两个工程:Com工程,创建Com组件; Client工程,使用Com组件 Client目录: 示例如何使用COM组件 Com目录: 示例如何创建COM组件 ...
java编程那些事-摘自陈跃峰的博客:http://blog.csdn.net/Mailbomb/
电子设计电子竞赛毕业设计产品运放的应用(摘自OHM丛书)本资源系百度网盘分享地址
摘自:http://openjdk.java.net/projects/jdk/11/ 181: Nest-Based Access Control(基于嵌套的访问控制) 309: Dynamic Class-File Constants(动态的类文件常量) 315: Improve Aarch64 Intrinsics(改进 Aarch64 ...
ZeroMQ(以下ZeroMQ简称ZMQ)是一个简单好用的传输层,像框架一样的一个socket library,他使得Socket编程更加简单、简洁和性能更高。(摘自百度百科) ZMQ官方网址http://zeromq.org/ ZMQ本身只提供了C++版本的下载,...
一篇关于java新旧内存模型的文章---文章摘自互联网,感兴趣的可以读一读。
英文版java面试题总结, java基本概念,英文主要摘自java2参考大全英文版
Java-OOP-Cameron 摘自Dane Cameron的书“软件工程师学习Java和面向对象的编程”
很完美的聊天室系统,摘自java精通实例,非常具有参考学习价值。
本文摘自千锋教育编著的《Java语言程序设计》中的面向对象章节,文章通俗易通,适合小白学习,还有配套的Java基础视频资料。
摘自支付宝官方 java sdk 2018.01.04,需要的同学直接下载。
本文摘自网络,实现modbus通讯,仅供学习和参考。