Android应用程序开发中通常需要多个模块进行通信(相互调用),如果不注意避免耦合,未来功能扩展以及调整会使得代码十分混乱,容易发生错误,并且维护困难。例如,Fragment直接通过(MainActivity)getActivity()的方式来使用其公共成员方法,Fragment和MainActi...
分类:
移动开发 时间:
2014-12-23 16:59:41
阅读次数:
171
自从面向对象开发方式的出现,抽象的概念就开始日新月异的发展,面向对象编程、面向接口编程、面向组件编程等等;这一系列的概念都是软件工程所追求的思想范畴,高类聚低耦合。今天我要简谈的是面向对象里面非常重要的也是非常抽象的概念,接口。谈起接口多少人曾经为之痛苦过,尤其是一些刚入门的开发人员(包括小弟),百...
分类:
Web程序 时间:
2014-12-23 15:19:39
阅读次数:
182
一.三层架构(高内聚,低耦合)1.Model层:中的实体类是与数据库表严格对应的,并定义的public成员属性。2.DAL数据访问层:实现对数据库中数据的“增,删,改,查”操作。4.Web表现层:Web页面功能3.BLL业务逻辑层:针对具体问题的操作,即对DAL层的操作需要注意的是: ...
分类:
数据库 时间:
2014-12-23 13:40:44
阅读次数:
183
增加遗漏的属性,指定属性的类型和可见性:
分配职责,定义执行每个职责的方法:
专家模式:
创建者模式:
低耦合:。
高内聚:
多态:
纯虚构:
中介者模式:
不要和陌生人讲话:
对消息驱动的系统,明确消息传递方式:
利用设计模式进行局部设计:
在面向对象设计的过程中,应该尽量使用成熟的设计模式来优化模型的局部设计:
使用外观模式为适配器子系统添加一个统一的接口;
通过实施观察者模式,是适配器子系统向框架层发送消息时,无需依赖于框架层的具体实现;
对于系统中存在的只有唯一的对象实例的类,使用单件模式;
...
分类:
Web程序 时间:
2014-12-23 10:40:01
阅读次数:
442
消息通知
任务队列
使用任务队列的好处
松耦合。生产者和消费者无需知道彼此的实现细节,只需要约定好任务的描述格式。这使得生产者和消费者可以由不同的团队使用不同的编程语言编写易于扩展。消费者可以有多个,而且可以分布在不同的服务器中, 借此可以轻易地降低单台服务器的负载
使用LPUSH和RPOP命令实现队列, 这里介绍一个新命令BRPOP和BLPOP BRPOP key...
分类:
其他好文 时间:
2014-12-23 10:35:50
阅读次数:
218
面向过程:以函数为中心;ObjectOrientedProgramming(宏观上)以对象为中心研究问题;更符合人类思维;OOA:面向对象分析;OOD:面向对象设计;OOP:面向对象开发;自顶向下,逐步求精;复用:大的对象属性也可以是一个对象为什么引入oo的概念?框架做的事是为了解耦合:让耦合度降低..
分类:
编程语言 时间:
2014-12-23 06:49:35
阅读次数:
193
转载地址:http://blog.csdn.net/aking21alinjuju/article/details/6051421 作者:aking21alinjuju目录:企业消息系统企业消息系统的好处提供消息灵活性松散耦合JMS是什么JMS的目标JMS两种消息模型点到点模型发布订阅模型 如果手....
分类:
其他好文 时间:
2014-12-22 19:16:21
阅读次数:
136
模板模式,主要是利用多态来实现具体算法和父类逻辑的松耦合。父类中TemplateMethod内部定义了相应的算法操作顺序,子类负责实现相应的具体实现。举例:项目中曾遇到过一个需求,叫做高级价格体系。它对外的调用接口一致,只是在不同的应用场景下(比如普通消费和会员卡消费)计算方法有差异,简化计算流程:...
分类:
其他好文 时间:
2014-12-22 17:57:12
阅读次数:
159
公司在做一个较大的项目,我一般把一些自己写的公用的js插件封装起来。之前我封装了一个 “数量选择器”,把它封装成一个仅有数量改变功能并能正则匹配正整数的一个纯粹的选择器,它可以通过new在一个页面添加多个。插件内,我定义了onchange和onkeyup进行正则匹配。change: function...
分类:
Web程序 时间:
2014-12-22 10:50:33
阅读次数:
684
设计模式主要的目:
将对象之间的关系进行解耦,使用容器来管理组件,减少不同组件之间的耦合
控制返回,将查找请求委派给容器
将主动查找转为被动接受...
分类:
编程语言 时间:
2014-12-21 22:13:35
阅读次数:
123