## 困境 ## 做了几年Windows环境下程序开发(大概200多个模块,几百万行代码),转做PHP Web开发后,发现模块级别的代码重用实在是不如意啊,重用基本上都是代码复制粘贴级别的,耦合度都太高,不利于代码打包和重...
分类:
其他好文 时间:
2014-12-04 12:23:29
阅读次数:
221
在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。1.依赖(Dependence) 依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为...
分类:
其他好文 时间:
2014-12-02 17:08:38
阅读次数:
174
如果想成为一名更优秀的软件设计师,了解优秀软件设计的演变过程比学习优秀设计本身更有价值。1.1 面向对象的好处 通过封装、继承多态把程序的耦合度降低,使用设计模式使得程序更加灵活,容易修改,易于复用。1.2 类图1.3 代码几个运算类; 1 using System; 2 using Syst...
分类:
其他好文 时间:
2014-11-30 22:51:44
阅读次数:
241
一、概念术语
AOP(Aspect Oriented Programming):面向切面编程。
面向切面编程(也叫面向方面编程),是目前软件开发中的一个热点,也是Spring框架中的一个重要内容。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
1. 切面(Aspect)
官方的抽象定义为“一...
分类:
编程语言 时间:
2014-11-30 21:31:57
阅读次数:
199
今天我们要讲的复合,当然不是小情侣吵着分手,然后又在一起的复合。 复合遵循一个合成复用原则,又称为组合或者聚合复用原则。该原则的内容是:尽量使用对象组合,而不是继承来达到复用的目的。用聚合可以使系统更加灵活,类与类之间的耦合度降低。在objective-c中,复合是指将多个组件组合在一起,配合...
分类:
其他好文 时间:
2014-11-26 23:59:56
阅读次数:
367
一、概述
命令模式可以将请求发送者和接收者完全解耦,发送者与接收者之间没有直接引用关系,发送请求的对象只需要知道如何发送请求,而不必知道如何完成请求。核心在于引入了命令类,通过命令类来降低发送者和接收者的耦合度,请求发送者只需指定一个命令对象,再通过命令对象来调用请求接收者的处理方法,命令模式是一种对象行为型模式。
二、使用场景
1>、系统要求请求发送者和接收者的解耦...
分类:
编程语言 时间:
2014-11-19 18:51:21
阅读次数:
207
static法则: A、若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以降低模块间的耦合度; B、若全局变量仅由单个函数访问,则可以将这个变量改为该函数的静态局部变量,以降低模块间的耦合度; C、设计和使用访问动态全局变量、静态全局变量、静态局部变量的函数时,...
分类:
其他好文 时间:
2014-11-18 06:53:37
阅读次数:
268
软件解耦说起软件的解耦必然需要谈论耦合度,降低耦合度即可以理解为解耦,模块间有依赖关系必然存在耦合,理论上的绝对零耦合是做不到的,但可以通过一些现有的方法将耦合度降至最低。做事情要想事半功倍,就要高处着眼,触摸到事情的脉络。当今流行着各种眼花缭乱的软件框架,不管是struts,还是spring,hi...
分类:
其他好文 时间:
2014-11-09 18:06:01
阅读次数:
190
最近深入学习javascript后,有个体会:面向对象的方式编程才是高效灵活的编程,也是现在唯一可以让代码更加健壮的编程方式。如果我们抛开那些玄乎的抽象出类等等思想,我自己对面向对象的从写程序的角度理解就是:复用和封装。复用具体就是让你尽量少写重复代码,封装就是将一些耦合度很高的逻辑放到一个程序块里...
分类:
编程语言 时间:
2014-11-08 22:00:06
阅读次数:
309
1.Web项目1.1概述对数据操作封装使用存储模式是很常见的方式,而使用依赖注入来降低耦合度(方便创建对象,可以抛弃经典的工厂模式)……1.2创建项目1.3添加模型在Models下,添加Product.cs:namespace WebApi06.Models{ public class Pro...
分类:
编程语言 时间:
2014-11-05 23:02:08
阅读次数:
1431