`
tang&qiang
  • 浏览: 25909 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

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();
}
}

分享到:
评论

相关推荐

    软件架构模式的种类 三种模式

    2. **Mediator(中介者)模式**:该模式用于降低多个对象之间的复杂依赖关系,使得对象之间无需显式引用彼此即可相互作用,从而降低系统的耦合度。中介者模式通常用于多对象交互频繁且相互依赖的情况下,通过引入一...

    Java和Android源码设计模式 2017-03-21

    为了提高系统的可维护性和可扩展性,应该遵循“高内聚低耦合”的原则。即每个模块应只关注自己的功能实现,并尽量减少与其他模块的交互。 #### 23种设计模式详解 接下来详细介绍23种设计模式,这些模式可以分为三...

    php和js的代码组织PPT课件.ppt

    - 低耦合与高内聚:理想情况下,系统中的组件应该具有低耦合度,意味着一个组件的变化不会过多影响其他组件。同时,代码应具有高内聚性,即模块内部的组件高度相关,减少外部依赖。 - MVC模式:Model-View-...

    Java软件开发实战 Java基础与案例开发详解 7-1 面向对象的分析与设计简介 共11页.pdf

    - **高内聚低耦合**:类内部紧密相关,与其他类的耦合度低。 - **避免过多的继承层次**:过深的继承层次会增加系统的复杂性。 - **使用接口而非抽象类**:当可能需要扩展时,优先考虑接口。 - **组合优于继承**:...

    面向对象设计与开发实战.pptx

    这些原则指导开发者如何设计系统,以达到高内聚、低耦合的目标。 - **单一职责原则**: - **定义**:一个类应该只负责一个功能领域的责任。 - **应用**:将类分解为更小、更专注的单元,使得每个类都有一个单一的...

    java设计模式选择题复习

    - **高内聚-低耦合原则**:每个模块都应该只负责单一的功能,减少模块间的依赖。 #### 观察者模式的推拉差异及其适用场景 - **推模式**:具体主题将变化后的数据直接推送给观察者。 - **优点**:高效、实时性强。...

    Java EE设计模式:Spring企业级开发最佳实践

    6.AOP Pattern:面向方面编程模式,提供一种将跨cutting concerns(횡断关注点)分离出来的方式,实现高内聚、低耦合的设计。 在 Spring 中,AOP 是框架的核心部分,提供了一个 AspectJ 语言来实现面向方面编程,...

    设计模式可复用面向对象软件的基础

    这些原则旨在确保软件组件的松耦合和高内聚,从而提高软件的可维护性和可扩展性。 1. **单例模式(Singleton)**:保证一个类只有一个实例,并提供一个全局访问点。它常用于配置管理、线程池或者数据库连接等需要...

    面向对象设计理论

    - 模块化设计:组织类和接口,考虑模块间的耦合度和内聚性。 - 设计优化:平衡设计的复杂性和易用性,避免过早优化。 5. **文档内容推测**: "面向对象分析与设计"可能详细讲解了如何进行OOA和OOD,涵盖了用例...

    设计模式与软件架构设计.pptx

    内聚和耦合是衡量模块质量的重要指标,高内聚意味着模块内部组件关系紧密,而低耦合意味着模块间交互简单,这种设计有助于提高系统的可维护性和可扩展性。 在软件开发过程中,我们需要遵循一些设计原则,如开闭原则...

    应用java编写当当网站

    7. **数据低耦合,高内聚**:耦合度是指模块之间的相互依赖程度,低耦合意味着模块间的独立性更强。内聚性则是指模块内部的元素间的关系紧密程度,高内聚意味着模块功能更加集中,更易于理解和维护。在本项目中,...

    软件系统设计与体系结构主要知识点概要.docx

    - 工厂模式:提供创建对象的接口,但允许子类决定实例化哪个类。 - 观察者模式:定义对象间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。 - 适配器模式:将一个类...

    面向对象设计与分析(含UML)

    3. **接口设计**:定义系统间的交互界面,确保松耦合和高内聚。 4. **详细设计**:包括类的属性和方法定义,以及操作的具体实现。 5. **状态图和协作图**:用于描述对象的行为和交互。 6. **部署图**:展示运行时...

    面向对象的分析和设计

    设计考虑的因素包括:如何合理划分职责,实现低耦合高内聚;如何利用继承、封装和多态等OOP特性来提高代码的复用性和灵活性;以及如何通过模式如工厂模式、观察者模式等来解决常见设计问题。 OOP思想的核心包括: 1...

    UML和模式应用(架构师必备).part02.rar

    17.14 高内聚 17.15 参考资料 第18章 使用GRASP的对象设计示例 18.1 什么是用例实现 18.2 制品注释 18.3 下一步工作 18.4 NextGen迭代的用例实现 18.5 Monopoly迭代的用例实现 18.6 过程:迭代和进化式对象...

    ASP.NET设计模式

    松散耦合和高内聚是***设计模式的核心原则,它们对于编写高效的Web应用程序至关重要。 松散耦合指的是系统中各个组件之间的依赖关系应当尽可能地减少,以增强系统的灵活性和可维护性。在***应用中,通过接口和抽象...

    C++设计模式原理与代码实现

    遵循这一原则可以提高类的内聚性,降低耦合度。 4. **开放-封闭原则**:这是另一个重要的面向对象原则,指出软件实体(类、模块、函数等)应该是可扩展的,但对修改是封闭的。这意味着当需求改变时,我们应尽量通过...

    1.什么是设计模式? 2.设计模式是指在软件开发中,经过验证的,用于解决在特定环境下、重复出现的、特定问题的解决方案 3.说出

    类的高内聚低耦合是设计原则之一,目的是提高代码的可重用性和可维护性。高内聚意味着类内的元素紧密相关,降低类内部各部分的依赖;低耦合则表示类与类之间的联系尽可能少,这样修改一个类时不会过多影响其他类。 ...

    软件架构:组织原则与模式

    2. **高内聚低耦合**:高内聚意味着模块内的元素紧密相关,执行单一功能;低耦合则指模块之间相互依赖程度低,减少变更一处影响他处的风险。 3. **分层架构**:通过将系统划分为不同层次,如表示层、业务逻辑层和...

    SingleFactoryModel.rar

    首先,如果产品种类过多,工厂类可能会变得过于复杂,违反了“高内聚,低耦合”的原则。其次,工厂类与具体产品类紧密耦合,不易于进行单元测试。最后,如果需要引入新的创建逻辑,可能需要修改已有代码,这违背了开...

Global site tag (gtag.js) - Google Analytics