组建、模块、对象

现在coding慢慢开始流行组件化开发,到底组建,模块,对象是什么意思?博主并没有用过这么高深的概念进行开发过,所以在网上进行了资源整合。先有个认知吧,以后开发用到了思想在写深刻的理解吧

1、组件,模块:
相同:都是基于功能划分的单位。比如说完成网络功能的组件、模块、完成统计功能的组件、模块; 这二者没有上下级的包含关系,模块可以由多个组件构建,独立的组件也通常由多个模块实现。
不同:

组件,偏向发行的概念(outside):
1、强调的是“跨项目的可重用性”这层意思。比如“XXX采集卡通用远程监控组件”,表示这个东东是完成远程监控功能,并且是为了可重用而开发的. 这个组件本身由采集卡驱动、网路传输、信号处理等诸多模块共同实现。
2、作为需要被第三方客户使用的独立工具,组件一般都有独立的封装。比如一个组件用符合COM接口规范的DLL发行,某些时候发行库大到包含一系列可执行文件、系统服务。

模块,偏向设计的概念(inside):
1、用于在项目中划分相对独立的功能。比如说公司为了开发一套组件,请您设计了几个算法模块;在一些场合,模块本身就要引用多个组件,典型的是远程医学系统中视频会议模块就利用了多种第三方开发的组件。
2、模块更偏重逻辑上区分,封装上可以和其他模块混合,也许发行的时候,把所有模块合并为一个DLL一起发行(客户通常没必要知道你的系统由哪些模块组成)。

2、对象:
和上面二者没有并列关系,只是自然事物在计算机上的简化表示的集合,比如描述学生的属性(名字、年龄、成绩等)和维护属性的方法(如对成绩排序等);组件和模块都可以使用面向对象的方法来实现,通过处理一定的对象,完成自身的功能。

从形态上来看,模块和组件都是相对稳定的代码的一种称呼。但是从实际的功能范围上来看,组件一般来说是实现某一种功能或者某一个功能的某一个细节的稳定的相对独立的类,而模块则至少有一个组件组成,也就是说模块的覆盖范围要比组件更大一些,它可能有多个组件组成,甚至除了组件之外还有很多相对稳定但并不会提供独立功能的代码一起来构成。
这就是两者的差别。

附带几篇文章:

iOS组件化方案探索[http://ios.jobbole.com/84290/]

已买到的宝贝前端组件化探索[http://ju.outofmemory.cn/entry/221379]

[Thinking in Ember 2] 组件化的探索——路漫漫其修远兮,还得 Up & Down 啊~[https://ruby-china.org/topics/28230]

利用handlebars实现后端组件化[https://cnodejs.org/topic/571e48db3f27a7c841bcb601]

大规模的前端组件化与模块化[http://www.infoq.com/cn/news/2014/04/front-end-modular]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,786评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,027评论 19 139
  • 最近再看阮一峰的一篇博客提到了一本书《Software Architecture Patterns》(PDF),写...
    卓_然阅读 7,908评论 0 22
  • 亦舒,原名倪亦舒,是香港著名作家倪匡的妹妹。祖籍浙江镇海,1946年9月25日出生于上海,五岁时随家人到香港定居。...
    爱在西苑阅读 1,041评论 0 1
  • 做市场需要掌握两个技能, 一是会吹牛逼 二是能把牛逼实现 11年的我勉强摸清第二条的门路,坐在对面正吃鸡架的某人则...
    市场狗阅读 81评论 0 0