1. 发布-订阅模式发布-订阅模式(publish-subscribe)是一种编程范式,发布方不发布消息给特定的接收方,而是由订阅方选择性接收。这使得发布方和订阅方相对独立,减少了耦合性。在发布-订阅模式中,有以下几个难点:1)如何区分或分配订阅者关注的消息;2)发布者如何将消息提交给对应订阅者;下...
分类:
其他好文 时间:
2015-07-12 17:14:45
阅读次数:
218
继承:把多个类中相同的内容提取出来,定义到一个类中,其他类只需要继承该类,就可以使用该类公开的属性和公开的方法。
继承的好处:提高代码的复用性。提高代码的可维护性。让类与类之间产生关系,是多态存在的一个前提。
继承的弊端:提高了类与类之间的耦合性。
开发的原则:低耦合,高内聚
耦合:类与类之间的关系
内聚:自己单独完成某件事情的能力。
在Java中只允许单继承。...
分类:
编程语言 时间:
2015-07-12 14:20:50
阅读次数:
204
《大话设计模式》中就Bridge模式的解释:手机品牌和软件是两个概念,不同的软件可以在不同的手机上,不同的手机可以有相同的软件,两者都具有很大的变动性。如果我们单独以手机品牌或手机软件为基类来进行继承扩展的话,无疑会使类的数目剧增并且耦合性很高,(如果更改品牌或增加软件都会增加很多的变动)两种方式的...
分类:
其他好文 时间:
2015-07-12 12:42:31
阅读次数:
178
Repost内容简介: 模块化思想模块的构成模块的管理模块化实践定义模块结构声明模块对象定义模块列表模块列表对象模块化思想1.将系统分成很多的模块,模块内部关注自身需要实现的核心业务。2.模块化的典型特点是:“模块间的低耦合”和“模块内的高聚合”。模块的构成1.名称。全局范围内表明该模块独...
分类:
编程语言 时间:
2015-07-12 11:08:44
阅读次数:
171
本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2015/07/success-of-microservices近年来,在软件开发领域关于微服务的讨论呈现出火爆的局面,有人倾向于在系统设计与开发中采用微服务方式实现软件系统的松耦合、跨部门开发;同时,反对之声也很强烈,持反对观点的人表示微服务增加了系统维护、部署的难度,导致一些功能模块...
分类:
其他好文 时间:
2015-07-12 07:19:17
阅读次数:
175
做项目中遇到的,折磨了我将近两天,今天把经验分享出来,让大家以后少走点弯路,好了,简单来说一下什么是android的适配器,如何定义,如何增加适配器的重用性,如何去降低程序的耦合性
适配器顾名思义是用来做适配的,但是他是如何做适配的,机制是什么,作用是什么,好,相信写java的都是知道什么是面向对象编程吧,这里用面向对象来解释很好理解,其实适配器是把每个对象放在其空间上然后在andorid页面显...
分类:
移动开发 时间:
2015-07-10 15:23:58
阅读次数:
139
1) STL的容器通过类模板技术,实现数据类型和容器模型的分离。
2) STL的迭代器技术实现了遍历容器的统一方法;也为STL的算法提供了统一性。
3) STL的函数对象实现了自定义数据类型的算法运算
核心思想:其实函数对象本质就是回调函数,回调函数的思想,就是任务的编写者和任务的调用者有效解耦合,函数指针做函数参数。
4) 具体例子:transform算法的输入,通过迭代器first和l...
分类:
编程语言 时间:
2015-07-10 00:30:47
阅读次数:
275
几点关于优雅代码风格的描述:代码简单:不隐藏设计者的意图,抽象干净利落,控制语句直截了当。接口清晰:类型接口表现力直白,字面表达含义,API 相互呼应以增强可测试性。依赖项少:依赖关系越少越好,依赖少证明内聚程度高,低耦合利于自动测试,便于重构。没有重复:重复代码意味着某些概念或想法没有在代码中良好...
分类:
其他好文 时间:
2015-07-09 12:40:23
阅读次数:
121
学习这个设计模式 真的觉得很抽象,只有自己多多的领会!在很多时候,很多的知识都会觉得讲起来是很矛盾的。本章目标1掌握内聚度和耦合度的概念2掌握面向对象设计原则(一)如何衡量软件设计的质量内聚度:表示一个应用程序的单个单元所负责的任务数量和多样性。内聚与单个类或者单个方法单元相关。(在我自己的理解就是...
分类:
其他好文 时间:
2015-07-08 20:26:25
阅读次数:
129
jquery本身特性,也就是事件触发,很多时候,就是你在编写 触发事件->处理数据 的流程。很显然,功能一多,代码就会和面条一样,交织在一起了。然后你要么崩溃,要么自然而然的开始写你自己的框架来管理代码了。mvvm绝对的优势就是降低耦合性,让前端从复杂的事件,回调中挣脱出来。举一个例子,利用一般的前...
分类:
其他好文 时间:
2015-07-08 20:24:11
阅读次数:
100