首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

6. 种的关系-低耦合与高内聚-单对象模型-工厂模式 小总结

2012-12-25 
6.类的关系-低耦合与高内聚-单对象模型-工厂模式 小总结????1.类与类之间的关系?? (1).继承?? (2).关联:两

6. 类的关系-低耦合与高内聚-单对象模型-工厂模式 小总结

?

?

?

?

1.类与类之间的关系

?? (1).继承

?? (2).关联:两个相对独立的对象,当一个对象的实例与另外一个对象的特定实例存在固定关系时,这两个对象之间就存在关联关系。

?

???(3).组合:对象A包含对象B,对象B离开对象A没有实际意义。是一种更强的关联关系。人包含手,手离开人的躯体就失去了它应有的作用。

?

?? (4).聚合:当对象A被加入到对象B中,成为对象B的组成部分时,对象B和对象A之间为聚合关系。聚合是关联关系的一种,是较强的关联关系,强调的是整体与部分之间的关系。

?

2.低耦合与高内聚

????? 耦合:就是对象之间的依赖性。指导使用和维护对象的主要问题是对象之间的多重依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。

????? 内聚:是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系。

?????

?????? 低耦合与高内聚:就是类与类之间的调用关系要简洁明了,软件项目的每一个类要有其相对明确且独立的功能。

低耦合与高内聚是一个重要的java设计原则。

?

????

????? 在以后的Java设计中,要谨记创建接口的重要性.

?

3.单对象模型

????? 是指在一个程序的运行过程中,某一个类创建且只创建一个对象。

???? 实现:A类使用B类

?

????????????? A类中调用B类时:B b=b.Get(“构造参数”);

???

??????????????B类中:???? public class B{

????????????????????????????????????????? B? b;

????????????????????????????????????????? //定义构造器为私有

?????????????????????????????????????????? private B(“构造参数”){
????????????????????????????????????????????????????????

?????????????????????????????????????????????????????? ??? }

??????????????????????????????????????????//外部调用函数
????????????????????????????????????????? public static B Get(“构造参数”){

?????????????????????????????????????????? if(b!=null){

??????????????????????????????????????????????return b;

???????????????????????????????????????????????????? }

??????????????????????????????????????????? else{

?????????????????????????????????????????????????????B b=new B(“构造参数”);?

????????????????????????????????????????????????????return b;

???????????????????????????????????????????????????? }

?????????????????????????????????????? }

?

???????????????????????????? }

?

?

4.工厂模式(接口使用方法)

?? (1). 简单工厂模式(Simple Factory)

?? (2). 工厂方法模式(Factory Method)

?? (3). 抽象工厂模式(Abstract Factory)

??????这三种模式从上到下逐步抽象,并且更具一般性。即对于产品树上类似的种类(一般是树的叶子中互为兄弟的)使用简单工厂模式来实现。????

????? 工厂模式有三个参与者(角色),抽象产品(Product)、工厂(Creator)和具体产品(ConcreteProduct)。客户只会看到工厂和抽象产品。?? 看看抽象工厂模式的各个角色(和工厂方法的如出一辙)。抽象工厂角色:这是工厂方法模式的核心,它与应用程序无关。


???? 工厂模式的作用在于将创建具体产品的方法由工厂类控制,客户只需要知道产品的抽象类型。

代码理解:
public interface Product{
public String getProduct();
} //抽象产品

public class ConcreteProduct implements Product{
public String getProduct(){
return "产品1";
}
}

public class Creator{
public static Product create1(){
return new ConcreteProduct();
}
}

热点排行