`
soleghost
  • 浏览: 41881 次
  • 性别: Icon_minigender_1
  • 来自: 未知
社区版块
存档分类
最新评论

重用的粒度问题

阅读更多

面向对象的一个重要特征就是封装和继承,其实就包含了代码的复用。继承、委托等方式(is a/has a/use a)都是代码复用的方式。

 

在软件开发中,有条原则就是DRY--dont repeat yourself,刚开始接触计算机时的理解是把公用的代码抽象到一个方法中,其他外围类调用此方法,其实除了这种方法级别的复用,还有更高的层次。

1.代码的copy\paste,最低级的复用。

 

2.方法级别的重用。比如同一个类中,可以把共用的代码抽象到一个方法中。

 

3.组件级别的重用。比如,把所有属于同一个业务的代码放入一个组件中,这样可以被其他组件调用。

 

4.系统级别的重用。在SOA思想里,每个系统都是由业务划分的,这样划分出soa的系统之后,每当推出一个产品之后,只需要组装SOA下的各个业务系统,并可以组装出一个产品来。

 

5.框架级别的重用。比如spring、ibatis、hibernate等,都是提供框架级别的重用。

 

6.产品级别的重用。不重复发明轮子,业界有了什么新的思路,什么新的技术,乃至新的产品,从网络视频到sns,都可以把理论copy一份,自己加工一把,自己来复用。看看初期的校内网,就是汉化版的facebook就知道了。

 

复用的优点:

1.避免满天飞重复的代码

2.易维护,易理解

3.也就是设计模式里说的封装可变性,把变化的和不变的区分开

 

分享到:
评论

相关推荐

    高粒度模块化的前端开发

    为了解决这些问题,出现了更为先进的CSS模块化方案,如CSS Modules,它允许每个组件拥有私有样式,避免了样式污染,增强了组件的封装性。 #### 5. 传统JS模块组织 早期的JavaScript模块化尝试包括CommonJS和AMD...

    运行时代码重用攻击:绕过细粒度的地址空间布局随机化的动态框架

    最近,已经提出了细粒度的地址空间布局随机化作为有效缓解ROP攻击的... 此外,我们提供的评估证明了运行时代码重用攻击的实用性。 我们的工作表明,这样的框架是有效的,细粒度的ASLR可能不像最初想到的那样有希望。

    硬件辅助的细粒度代码重用攻击检测

    本文主要介绍了一种基于硬件辅助的细粒度代码重用攻击检测机制,这一机制被命名为CFIGuard,主要应用于用户空间应用程序的安全防护。代码重用攻击,尤其是返回导向编程(Return-Oriented Programming,简称ROP)和...

    设计模式与小粒度架构设计

    设计模式的掌握能够帮助他们更加高效地解决设计问题,而小粒度架构设计的理解则能让他们在代码层面实现更加稳固和灵活的软件系统。软件重构技术和软件重用技术的运用能够为软件系统的长期健康发展提供强有力的支持,...

    多层次多粒度采煤机创新设计知识表达方法

    针对现有知识表达方法难以全面有效地表达采煤机创新设计知识、采煤机专题知识库对知识的表达不够全面和检索效率不高等问题,为实现采煤机创新设计知识和经验的重用,激发设计者进行知识类比迁移的能力,提出了多层次多...

    基于语义的三维CAD模型可重用区域自动提取.pdf

    随着三维CAD模型数量的不断增加,如何高效地管理和重用这些模型成为了亟待解决的问题。本文提出了一种基于语义分析的三维CAD模型可重用区域自动提取方法,旨在通过分析和提取模型中的可重用区域,以支持产品的设计...

    android 粒度、瀑布案例开发

    粒度越小,意味着每个组件的功能越单一,更易于维护和重用。粒度大的组件可能包含多个功能,虽然在某些情况下可以简化设计,但可能导致代码复杂度增加,不易于理解和调试。 瀑布模型是一种经典的软件开发过程模型,...

    jsp中的代码重用技术

    这种方法提供了强大的功能,可以在作用域内协调共享数据,但同时也带来了一些限制,比如缺少细粒度的控制和没有参数化的构造器支持。 #### 四、JSP1.1中的改进 随着JSP版本的演进,1.1版本引入了典型标签库(Tag ...

    面向中小企业的变粒度双网映射零部件设计重用 (2012年)

    为此,给出粗细粒度双网映射的零部件设计知识重用方法。在中小企业现有产品零部件图形数据库和CAD设计基础上,建立包括零部件图形数据库内容的树状知识网,称之为细粒度知识网,该树状知识结构与原数据库的结构相符合。...

    基于机器学习的商品本体细粒度语义知识获取.pdf

    然而,现有的商品本体模型通常存在粒度过粗和细粒度语义知识匮乏的问题。针对这一挑战,本文提出了一种基于机器学习的方法来获取商品本体的细粒度语义知识。 **1. 商品本体的细粒度语义知识** 商品的细粒度语义...

    基于收益模型的Spark SQL数据重用机制.pdf

    为了应对这一问题,本文介绍了一种基于收益模型的细粒度自动数据重用机制,称为Criss。该机制能够自动识别查询间的冗余计算,并使用性能感知的收益模型来自动选择收益最大的算子结果进行缓存,采用内存与HDD混合存储...

    几种分布式软件体系结构的可重用性比较.pdf

    3. 复用粒度:复用粒度是指软件模块能够被重用的最小单位。面向对象技术中的类是一个基本的可重用单位,类的继承机制提高了代码的复用性。CORBA和SOA都支持细粒度的软件重用。 通过以上几个特征的分析,我们可以...

    粗粒度可重构体系结构的数据预取和重用策略

    关键词包括:数据重用、粗粒度可重构体系结构、数据预取。在文章的引言部分,详细讨论了CGRAs在学术和商业领域的受欢迎程度,特别是在提升并行处理能力方面。CGRAs可以处理大量高速并行任务,为达到更好的性能、能效...

    粗粒度可重配置处理器中基于配置上下文重用和差分重配置的延迟隐藏技术

    综上所述,本文提出的技术和方法针对粗粒度可重配置处理器中的配置延迟问题,提出了一种新的解决方案,通过优化配置上下文的存储和传输机制,减少了配置时间,提高了处理器的运行效率。这项研究对于可重配置计算领域...

    包的设计原则

    重用发布等价原则前言RobertC....重用粒度等价于发布粒度。重用的概念重用主要是从用户的观点来看的。对用户来说,使用某个发布单位(组件,类,类群等),如果作者因为某种原因对其作了修改而发布了一个新的版本,用

    基于Openbiz 让PHP实现极致业务逻辑重用 _php_

    9. **社区与生态系统**:Openbiz拥有活跃的开发者社区,提供丰富的插件和模块,以及详尽的文档和示例,方便开发者快速上手和解决问题。 10. **最佳实践**:文档中可能还会涵盖使用Openbiz的最佳实践,如代码组织、...

    面向设计重用的三维CAD模型局部结构检索方法.pdf

    针对这一问题,研究者提出了融合语义的三维CAD模型局部结构检索方法,旨在实现设计信息的有效重用。该方法主要涉及以下几个关键步骤和知识点: 1. 设计特征作为语义信息基础载体:设计特征是描述产品设计特性的基本...

Global site tag (gtag.js) - Google Analytics