`

面向对象设计模式的六大基本原则(设计类的原则)

 
阅读更多

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//方法设计(算法设计)

 

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//类设计原则(面向对象设计原则)

http://blog.csdn.net/zhengzhb/article/category/926691

1.单一责任原则SRP(Single Responsibility Principle):

一个类只有一个引起变化的原因。

一个类只有一个独立责任,不负责其他职责

 

2.开放封闭原则OCP(Open Closed Principle):

软件实体对扩展开放,对修改封闭。

对功能扩展开放,对功能修改封闭。

 

3.里氏替换原则LSP(Liskov Substitution Principle):

子类的实例能够替换其父类的实例。

子类尽量不重写父类,尽量用扩展。

 

4.依赖倒置原则DIP(Dependency Inversion Principle):

依赖抽象不要依赖具体实现。

设计的类依赖接口

 

5.接口分离原则ISP(Interface Segregation Principle):

使用多个专门的接口比使用单一的总接口要好。一个类对另一个的依赖性建立在最小的接口上。

 

6.迪米特法则LoD(Law of Demeter):也称为最少知识原则LKP(Least Knowledge Principle)

一个对象应该对其他对象有最少的了解。

设计类的时候用用别人越少,用别人越简单越好

 

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//类之间关系设计(设计模式)

http://blog.csdn.net/zhengzhb/article/category/926691

---------------------------------------------------------------------------------------------------------------

//创建型模式(类之间创建与被创建的解决方案)(abps)

 

*SimpleFactory简单工厂模式

*Factory Method工厂方法模式

*Abstract Factory抽象工厂模式(工厂是主类)(解决多个子类生成实例的问题,方便扩展添加子类)

http://jishudaren.iteye.com/blog/2295901

*Builder生成器模式(生成器是主类)(复杂对象创建过程与表示分离的解决方案)

diector定义产品的构建过程,builder创建部件和组装产品,并提供返回产品的接口。

http://jishudaren.iteye.com/blog/2295872

 

Prototype原型模式(类实例复用问题的解决方案)

实现要点:用已存在的类A实例创另一个类A实例,可以用A的clone方法。

 (http://jishudaren.iteye.com/blog/2295773

*Singleton单例模式(只准生成一个类实例的解决方案)

实现要点:uniqueInstance是本身静态实例,静态方法instance()是获得或创建实例uniqueInstance 。

http://jishudaren.iteye.com/blog/2295768

 ---------------------------------------------------------------------------------------------------------------

//结构型模式(类之间结构调整降耦的解决方案)(ABCDFFP)

 

Adapter适配器模式* (老接口适应新接口的解决方案)

(把已有的接口转化成需要的接口)(主类适配器)

http://jishudaren.iteye.com/admin/blogs/2295133

Bridge桥接模式* (使接口和实现独立变化的解决方案)

(接口是一个类A,实现是一个类B,A引用B)(主类是A)

http://jishudaren.iteye.com/admin/blogs/2295118) 

Composite组合模式*(使用树状结构的解决方案)

(A不继承B,而引用使用B)(主类是A)

http://jishudaren.iteye.com/admin/blogs/2295125

Decorator装饰模式(可以使功能独立逐渐加强的解决方案)

(在本类的fun中调用被装饰者的同名方法fun并且在调用后再加上自己的功能加强的一些逻辑代码)(主类是装饰者)

http://jishudaren.iteye.com/admin/blogs/2295128

 

Facade外观模式* (统一外观不暴露子系统解决方案)

(让接口更好看更简洁,隐藏下面复杂的接口)(主类是外观类)

http://jishudaren.iteye.com/admin/blogs/2295129

Flyweight享元模式(复用频繁使用的对象解决方案)

实现要点,有一个缓存管理器,缓存复用对象。复用对象有唯一标识。

http://jishudaren.iteye.com/admin/blogs/2295131

Proxy代理模式*(处理和控制真实对象解决方案)

(为对象提供一种代理以控制对这个对象的访问)(主类是代理者)

http://jishudaren.iteye.com/admin/blogs/2295132

 

---------------------------------------------------------------------------------------------------------------

//行为型模式(类之间某种行为的解决方案)

 

Chain Of Responsibility 职责链模式 

Command命令模式 

Interpeter解释模式 

Iterator迭代者模式(集合遍历的解决方案)

        实现要点:迭代器持有集合引用,并知道遍历的第一个,当前位置,下一个,结束。集合创建并返回迭代器。

Mediator中介者模式*(多类相互交互改成通过一个中间者交互的解决方案)

        实现要点:中介者持有同事列表,和提供通讯接口(要能查到指定的同事),同事持有中间者引用。

Memento 备忘录模式 

 

 

Observer观察者模式* (行为依赖的解决方案)

         实现要点,被观察者Subject维持一个观察者Observer列表,被观察者变化时调用观察者的方法。

State状态模式*(同一个调用类在不同状态下有不同反应的解决方案)

         实现要点,类可以设置不同状态,状态里有这个类这个状态下的反应。

Strategy策略模式*(同一个调用类在不同策略下有不同策略实现的解决方案)

         实现要点,类可以设置不同策略,策略里有这个类在这个策略下方法现实。

 

Template Method模板方法模式(固定步骤行为的解决方案)

         实现要点:固定步骤在父类中定义成抽象方法。

Visitor 访问者模式(对象可以选择个不同访问器的解决方案)

        实现要点,某个元素接受某个访问器,这个访问器在访问这个元素,本质是元素选择不同的访问器

 

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//项目结构(框架设计模式)

1.mvc mvp mvvm

http://wenzongliang.iteye.com/blog/2240284

android中的mvc,mvp对应

http://www.tuicool.com/articles/2qMnmi

 

2.三层结构

UI层

---------

业务逻辑层(商务逻辑层)

---------

数据层

http://baike.baidu.com/link?url=xsVBhJ9vQNIL4v6T0agt40Rlk_n0lCvCyGiqlh2PP5lUWUJWkilTRebAoqRlygbCLIsCsaTU1WL011-vy5sf3K

  • 大小: 34.1 KB
分享到:
评论

相关推荐

    23种 设计模式---面向对象的基本原则

    在面向对象编程中,设计模式基于一些基本原则,这些原则构成了良好设计的基础。本篇将深入探讨23种设计模式以及面向对象的基本原则。 面向对象的基本原则主要包括: 1. 单一职责原则(Single Responsibility ...

    java面向对象设计的六大原则

    ### Java面向对象设计的六大原则 在Java编程中,面向对象设计的原则对于构建高质量、可维护、可扩展的软件系统至关重要。以下将详细介绍面向对象设计的六大原则:单一职责原则(Single Responsibility Principle, ...

    JAVA设计模式六大原则详细讲解(面向对象语言通用)

    1.单一职责原则: 不要存在多于一个导致类变更的原因 2.里氏替换法则:子类可以扩展父类的功能,但不能改变父类原有的功能 3.依赖倒置原则:面向接口编程 4.接口隔离原则: 客户端不应该依赖它不需要的接口;一个类对...

    面向对象六大原则demo

    在面向对象设计中,可以通过抽象类或接口来实现这一原则,允许新增子类而不改变现有代码。 3. **里氏替换原则(LSP)**:子类必须能够替换掉它们的基类,而不影响程序的正确性。这意味着子类可以扩展父类的功能,但...

    面向对象的一般原则 六大原则

    面向对象设计的六大基本原则是软件开发领域中非常重要的概念,这些原则旨在提高代码的质量、可维护性和可扩展性。在本篇文章中,我们将详细介绍这六个原则,并通过具体案例加深理解。 ### 一、单一职责原则 (SRP, ...

    面向对象设计三要素五原则六视点

    面向对象设计的核心在于其三大基本要素:封装、继承与多态。这些要素不仅定义了面向对象编程的基本结构,还深刻地影响着软件的设计和实现。 #### 封装(Encapsulation) 封装是面向对象编程的基础之一,它通过将...

    24种设计模式介绍与6大设计原则

    里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能...

    戏说面向对象程序设计(C#版).pdf

    #### 三、面向对象设计的关键原则 **面向对象设计的原则**: - **封装**:将数据和操作数据的方法绑定在一起,隐藏内部实现细节,只暴露对外接口。 - **继承**:允许创建一个类(子类)继承另一个类(父类)的属性...

    GOF的23种设计模式,及设计模式的六大原则

    设计模式的六大原则: 1. **开闭原则**:对扩展开放,对修改关闭,意味着在保持软件原有功能的基础上,可以方便地扩展新功能。 2. **里氏代换原则**:子类必须能够替换掉它们的基类,保证软件组件的可替换性,确保...

    面向对象的设计原则 doc

    本文将详细探讨面向对象设计中的六大基本原则,并结合部分文本内容进行深入分析。 #### 一、开闭原则(Open-Closed Principle, OCP) **定义**:开闭原则指出,软件实体(如类、模块等)应该对扩展开放,对修改...

    c#开发模式-面向对象

    本文将重点介绍C#中的面向对象设计模式之一:**Strategy策略模式**。 #### 二、面向对象设计模式简介 面向对象设计模式是解决特定问题的最佳实践。它们提供了经过验证的解决方案,帮助开发者设计出更加灵活、可...

    61条面向对象设计的经验原则

    #### 面向对象设计基本原则 **原则一:** 面向对象设计应该关注于清晰地定义类及其责任。这意味着每个类都应该有明确的目的,并且只负责执行那些与之直接相关的任务。 **原则二:** 在面向对象设计中,尽量减少类...

    JAVA设计模式的六大原则

    ### JAVA设计模式的六大原则 #### 一、开闭原则(Open-Close Principle) **定义:** 开闭原则强调的是软件实体(类、模块、函数等)应该是可扩展的但不可修改的,即软件实体应该对扩展开放,对修改关闭。 **实践...

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

    设计模式的出现与面向对象设计原则密切相关,包括单一职责原则、开闭原则、里氏替换原则、依赖倒置原则和接口隔离原则等。这些原则指导开发者编写更灵活、可扩展的代码,而设计模式是这些原则的具体实现。 五、设计...

    设计模式六大原则(1):单一职责原则

    设计模式六大原则是面向对象编程中的基石,为代码的可维护性、扩展性和复用性提供了指导。本文将深入探讨这六大原则中的第一个——单一职责原则(Single Responsibility Principle, SRP),并结合AcountYear.java这...

    设计模式六大原则 .docx

    设计模式六大原则是软件开发中不可或缺的指导原则,它们旨在提高代码的可维护性、可扩展性和可重用性。以下是对这六个原则的详细解释: 1、单一职责原则(SRP) 单一职责原则指出,一个类或模块应只负责一项功能。...

    设计模式.面向对象基础

    在面向对象编程中,设计模式可以分为三大类: - **创建型模式**:关注对象的创建方式,如单例模式、工厂方法模式等。 - **结构型模式**:关注类或对象的组合,如适配器模式、装饰器模式等。 - **行为型模式**:关注...

Global site tag (gtag.js) - Google Analytics