随笔分类 -  Z技术(Patterns/Design)

摘要:代码味道识别工具 (Code Smell Detection Tools, CSDT)既可以应用于软件开发阶段,也可以应用于软件维护阶段。目前大部分IDE都集成了自动或者半自动重构工具,但是根据国外研究人员的调查发现,真正在软件开发和维护中使用重构工具的人并不多,其中有一个很重要的原因是不知道... 阅读全文
posted @ 2015-01-08 11:08 Leo.cheng 阅读(2793) 评论(0) 推荐(0) 编辑
摘要:1.何为重构? 重构是对软件内部结构的一种调整,它不是改变代码的功能,而是在不改变软件可观察行为的前提下,提高其可理解性,降低修改成本。 用比较通俗的话来说就是把代码从一个地方移动到另外一个地方,保持其简短、易读。2.为何重构? 如果没有重构,程序会逐渐腐败甚至变质。 当我们只为了短期的... 阅读全文
posted @ 2014-12-24 11:13 Leo.cheng 阅读(2560) 评论(0) 推荐(0) 编辑
摘要:1. 架构总览2. 模块介绍2.1 协议封装与任务流程2.1.1 协议与任务的封装协议有协议头(协议头因为格式相同,被抽象出来)和协议体组成,协议有两类:请求协议(request)和回复协议(response);任务(action)由请求协议、回复协议和任务回调(callback)组成;callba... 阅读全文
posted @ 2014-12-23 10:05 Leo.cheng 阅读(1702) 评论(0) 推荐(0) 编辑
摘要:Abstract FactoryIntent:Provide an interface for creating families of related or dependent objects without specifying their concrete classes.Applicabil... 阅读全文
posted @ 2014-12-02 10:21 Leo.cheng 阅读(599) 评论(0) 推荐(0) 编辑
摘要:三层系统的分层式结构 三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)业务逻辑层(BLL)数据访问层(DAL) 区分层次的目的即为了“高内聚,低耦合”的思想。表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见... 阅读全文
posted @ 2014-10-31 16:34 Leo.cheng 阅读(4387) 评论(0) 推荐(0) 编辑
摘要:我们期待自己成为一个优秀的软件模型设计者,但是,要怎样做,又从哪里开始呢? 将下列原则应用到你的软件工程中,你会获得立杆见影的成果。1. 人远比技术重要 你开发软件是为了供别人使用,没有人使用的软件只是没有意义的数据集合而已。 许多在软件方面很有成就的行家在他们事业的初期却表现平平,因为他们那时侯... 阅读全文
posted @ 2014-10-29 15:43 Leo.cheng 阅读(4028) 评论(0) 推荐(1) 编辑
摘要:引子 这是一个很简单的模式,却被非常广泛的使用。 之所以简单是因为在这个模式中仅仅使用到了继承关系。 继承关系由于自身的缺陷,被专家们扣上了“罪恶”的帽子。 “使用委派关系代替继承关系”, “尽量使用接口实现而不是抽象类继承”等等专家警告,让我们大家对继承“另眼相看”。 其实,继承还是有... 阅读全文
posted @ 2014-06-28 20:21 Leo.cheng 阅读(405) 评论(0) 推荐(0) 编辑
摘要:引子 昨天在给新买的MP3充电的时候,发现这款MP3播放器只提供了USB接口充电的方式,而它所配备的充电器无法直接给USB接口充电,聪明的厂商为充电器装上了一个USB接口转换器解决了问题。 这个USB接口转接器正是今天要谈到的适配器。 而在软件开发中采用类似于上面方式的编码技巧被称为适配器模式... 阅读全文
posted @ 2014-06-28 19:56 Leo.cheng 阅读(575) 评论(0) 推荐(0) 编辑
摘要:引子 还记得警匪片上,匪徒们是怎么配合实施犯罪的吗? 一个团伙在进行盗窃的时候,总有一两个人在门口把风——如果有什么风吹草动,则会立即通知里面的同伙紧急撤退。 也许放风的人并不一定认识里面的每一个同伙; 而在里面也许有新来的小弟不认识这个放风的。 但是这没什么,这个影响不了他们之间的通讯,... 阅读全文
posted @ 2014-06-28 17:03 Leo.cheng 阅读(533) 评论(0) 推荐(0) 编辑
摘要:引子 古人云:书非借不能读也。 现在IT书籍更新快、价格贵、质量水平更是参差不齐,实在不忍心看到用自己的血汗钱买的书不到半年就要被淘汰 更不想供养使用金山快译、词霸等现代化工具的翻译们。 于是去书店办了张借书卡,这样便没有了后顾之忧了——书不好我可以换嘛! 但是,借书也有不爽的地方,就是... 阅读全文
posted @ 2014-06-26 22:06 Leo.cheng 阅读(609) 评论(0) 推荐(0) 编辑
摘要:引子 前几天陪朋友去装机店攒了一台电脑,看着装机工在那里熟练的装配着机器。 作为装机工,他们不用管你用的CPU是Intel还是AMD,也不管你的显卡是2000千大元还是白送的,都能三下五除二的装配在一起。 一台PC就诞生了! 当然对于客户来说,你也不知道太多关于PC组装的细节。 这和建造模... 阅读全文
posted @ 2014-06-25 23:10 Leo.cheng 阅读(617) 评论(0) 推荐(0) 编辑
摘要:引子 话说十年前,有一个暴发户,他家有三辆汽车——Benz 奔驰、Bmw 宝马、Audi 奥迪,还雇了司机为他开车。不过,暴发户坐车时总是怪怪的: Benz 车后跟司机说“开奔驰车!上”,坐上 Bmw 后他说“开宝马车!”,坐上 Audi 说“开奥迪车!”。你一定说:这人有病!直接说开车不就行了?!... 阅读全文
posted @ 2014-06-22 17:49 Leo.cheng 阅读(2089) 评论(0) 推荐(0) 编辑
摘要:架构模式 如何设计一个程序的结构,这是一门专门的学问,叫做"架构模式"(architectural pattern),属于编程的方法论。 MVC模式就是架构模式的一种,它不仅适用于开发软件,也适用于其他广泛的设计和组织工作。MVC模式 MVC是三个单词的首字母缩写,它们是Model(模型)、V... 阅读全文
posted @ 2013-11-12 16:01 Leo.cheng 阅读(384) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示