`
rjhym
  • 浏览: 66520 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA组件设计原则(一)概述(摘自《java组件设计》)

 
阅读更多
Java阵营一直倡导开源,开源运动如火如荼展开,催生了无数组件。但是,坦率的讲,这些开源的组件中,能够直接拿过来,不做任何改造,就能用于商业软件构建,满足功能和性能的要求,这样的优秀组件不多见。因此,核心软件开发者时常面对的尴尬局面是:大量的开源资源,都不满足我的要求。
实际上,组件设计是软件设计开发最精髓所在,凝聚了数据结构、面向对象、设计模式、线程并发同步、操作系统等诸多领域的最核心技术,一直是设计开发领域彰显技术水准的最高领地。
一个组件,要想被广泛重用,满足不同系统的使用要求,就要求组件有足够的能力适应不同的应用场合,提供满足需要的功能,并表现出优秀的性能。因此,组件设计过程中,组件设计者要考虑的问题非常广泛而复杂,组件设计者需要具备的知识、技能和经验要求非常高,一般工作经验至少在5年以上才有可能涉足组件设计这个领域。这也就解释了,为什么优秀组件不多的原因了。
接下来将对目前业界存在的诸多技术争论、误区进行澄清,让读者从所谓的“业界潮流”、教条、“黄金定律”中走出来,真正理解组件设计过程的核心原则。这些核心原则如下:
原则一、精准解决共性问题
原则二、无配置文件
原则三、与使用者概念一致
原则四、业务无关的中立性
原则五、对使用环境无依赖
原则六:单类设计和实现
分享到:
评论

相关推荐

    java数组函数(摘自JAVA编程思想)

    在Java编程中,数组是一种非常基础且重要的数据结构,它允许我们存储同类型的多个元素。在处理大量数据时,数组提供了高效且灵活的访问方式。本篇将详细讲解Java中的数组函数及其应用,这些功能主要来自`...

    java程序员必读基础篇 摘自南大百合精华篇

    本篇文章将根据“java程序员必读基础篇 摘自南大百合精华篇”的主题,深入探讨Java编程的核心概念,帮助读者构建扎实的Java知识体系。 1. **Java简介**:Java是由Sun Microsystems(后被Oracle收购)开发的一种面向...

    Java集合类源码(摘自jr源码)

    Java集合框架是Java编程语言中的核心部分,它提供了一组数据结构和算法,使得程序员能够高效地管理和操作数据。在给定的压缩包文件中,包含了一些关键的集合类源码,如`TreeMap`、`Hashtable`、`ArrayList`、`...

    DB2Java存储过程.pdf

    本部分内容摘自 IBM Redbooks 出版的一份文档,详细介绍了如何在 DB2 中使用 Java 实现存储过程,并涵盖了跨平台实施的指导。 - **出版日期**:2000 年 9 月。 - **适用版本**:适用于 DB2 Universal Database (UDB...

    23种设计模式类图,摘自设计模式之禅(第2版)

    设计模式是软件工程中的一种最佳实践,用于解决在软件开发过程中常见的问题,提供了一套可重用的解决方案。这些模式都是经验丰富的开发者在实践中总结出的通用解决方案,并被广泛接受和应用。本压缩包文件包含了...

    ZeroMQ(java)window库

    ZeroMQ(以下ZeroMQ简称ZMQ)是一个简单好用的传输层,像框架一样的一个socket library,他使得Socket编程更加简单、简洁和性能更高。(摘自百度百科) ZMQ官方网址http://zeromq.org/ ZMQ本身只提供了C++版本的下载,...

    毕业设计作品_运放的应用(摘自OHM丛书).rar

    标题中的“毕业设计作品_运放的应用(摘自OHM丛书)”表明这是一份与电子工程相关的毕业设计,重点在于运算放大器(简称运放)的应用。运放是模拟电路中极其重要的组件,广泛用于信号处理、滤波、放大、比较等各种场合...

    电子设计资料_运放的应用(摘自OHM丛书).zip

    《电子设计资料_运放的应用(摘自OHM丛书)》这一压缩包文件是一份集成了丰富的集成运算放大器(简称“运放”)相关知识的资源库,旨在帮助电子设计工程师深入理解和应用运放。运放是电子工程中极其重要的一类组件,...

    java 将excel里面的数字时间转化为准确的时间格式

    java 将excel里面的数字时间转化为准确的时间格式;具体来源有点忘记了,实现是摘自了开源代码里面的一段。

    COM组件编写和使用示例

    代码原封不动摘自《COM技术内幕》,只不过从MAKEFILE转为vs2008实现。 vs2008包含两个工程:Com工程,创建Com组件; Client工程,使用Com组件 Client目录: 示例如何使用COM组件 Com目录: 示例如何创建COM组件 ...

    Java 11 / JDK 11 下载

    摘自:http://openjdk.java.net/projects/jdk/11/ 181: Nest-Based Access Control(基于嵌套的访问控制) 309: Dynamic Class-File Constants(动态的类文件常量) 315: Improve Aarch64 Intrinsics(改进 Aarch64 ...

    java编程那些事

    java编程那些事-摘自陈跃峰的博客:http://blog.csdn.net/Mailbomb/

    电子设计电子竞赛毕业设计产品运放的应用(摘自OHM丛书)

    电子设计电子竞赛毕业设计产品运放的应用(摘自OHM丛书)本资源系百度网盘分享地址

    电子通信设计资料运放的应用(摘自OHM丛书)

    《电子通信设计资料运放的应用》一书(摘自OHM丛书)详细介绍了运放的基本原理、特性及其在电子通信中的具体应用案例,为从事电子通信行业的工程师和技术人员提供了宝贵的参考资料。 #### 运算放大器基础知识 运算...

    Java-OOP-Cameron:摘自Dane Cameron的书“软件工程师学习Java和面向对象的编程”

    Java是一种广泛使用的高级编程语言,尤其在企业级应用和互联网开发中占据主导地位。OOP(面向对象编程)是Java的核心编程范式之一,它基于类和对象的概念,提供了封装、继承、多态等特性,使得代码更加模块化,易于...

    用户定义与UI设计--摘自《Its Android Time》第3章

    3. **一致性原则**:在整个应用中保持设计元素的一致性,如颜色方案、字体样式、按钮样式等,有助于建立统一的品牌形象并降低用户的学习成本。 4. **可访问性**:考虑到所有类型的用户,包括那些有身体障碍的人,...

    Java_ClassAverage:用于计算多个输入的平均值的简单程序。 摘自“Java How To Program, 10e, Early Objects”——第 4 章

    Java_ClassAverage 是一个基于Java编程语言的简单程序,它的主要功能是接收多个数值输入并计算它们的平均值。这个程序出自《Java How To Program》的第10版,早期对象章节,第4章,通常这样的教材会以实例来教授基础...

    基于改进RBF神经网络的光伏组件故障诊断.pdf

    光伏组件的输出特性受多种因素的影响,因此对光伏组件的故障检测是一个严峻的考验。为了保证故障诊断的实时性和精确性,需要采用多种方法来提取故障特征,并通过改进的RBF神经网络来进行故障诊断。 三、标签解读 ...

    电子设计论文运放的应用(摘自OHM丛书)

    该资源只包含论文文档资料,电子设计论文运放的应用(摘自OHM丛书)提取方式是百度网盘分享地址

    MiniJava-Compiler:用 Java 编写的编译器,用于编译称为 MiniJava 的指令子集

    摘自 MiniJava 项目的网站 ( ): MiniJava 是 Java 的一个子集。 MiniJava 程序的含义由其作为 Java 程序的含义给出。 MiniJava 中不允许重载。 MiniJava 语句 System.out.println( ... ); 只能打印整数。 MiniJava...

Global site tag (gtag.js) - Google Analytics