//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//方法设计(算法设计)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//类设计原则(面向对象设计原则)
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
相关推荐
在面向对象编程中,设计模式基于一些基本原则,这些原则构成了良好设计的基础。本篇将深入探讨23种设计模式以及面向对象的基本原则。 面向对象的基本原则主要包括: 1. 单一职责原则(Single Responsibility ...
### Java面向对象设计的六大原则 在Java编程中,面向对象设计的原则对于构建高质量、可维护、可扩展的软件系统至关重要。以下将详细介绍面向对象设计的六大原则:单一职责原则(Single Responsibility Principle, ...
1.单一职责原则: 不要存在多于一个导致类变更的原因 2.里氏替换法则:子类可以扩展父类的功能,但不能改变父类原有的功能 3.依赖倒置原则:面向接口编程 4.接口隔离原则: 客户端不应该依赖它不需要的接口;一个类对...
在面向对象设计中,可以通过抽象类或接口来实现这一原则,允许新增子类而不改变现有代码。 3. **里氏替换原则(LSP)**:子类必须能够替换掉它们的基类,而不影响程序的正确性。这意味着子类可以扩展父类的功能,但...
面向对象设计的六大基本原则是软件开发领域中非常重要的概念,这些原则旨在提高代码的质量、可维护性和可扩展性。在本篇文章中,我们将详细介绍这六个原则,并通过具体案例加深理解。 ### 一、单一职责原则 (SRP, ...
面向对象设计的核心在于其三大基本要素:封装、继承与多态。这些要素不仅定义了面向对象编程的基本结构,还深刻地影响着软件的设计和实现。 #### 封装(Encapsulation) 封装是面向对象编程的基础之一,它通过将...
里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能...
#### 三、面向对象设计的关键原则 **面向对象设计的原则**: - **封装**:将数据和操作数据的方法绑定在一起,隐藏内部实现细节,只暴露对外接口。 - **继承**:允许创建一个类(子类)继承另一个类(父类)的属性...
设计模式的六大原则: 1. **开闭原则**:对扩展开放,对修改关闭,意味着在保持软件原有功能的基础上,可以方便地扩展新功能。 2. **里氏代换原则**:子类必须能够替换掉它们的基类,保证软件组件的可替换性,确保...
本文将详细探讨面向对象设计中的六大基本原则,并结合部分文本内容进行深入分析。 #### 一、开闭原则(Open-Closed Principle, OCP) **定义**:开闭原则指出,软件实体(如类、模块等)应该对扩展开放,对修改...
本文将重点介绍C#中的面向对象设计模式之一:**Strategy策略模式**。 #### 二、面向对象设计模式简介 面向对象设计模式是解决特定问题的最佳实践。它们提供了经过验证的解决方案,帮助开发者设计出更加灵活、可...
#### 面向对象设计基本原则 **原则一:** 面向对象设计应该关注于清晰地定义类及其责任。这意味着每个类都应该有明确的目的,并且只负责执行那些与之直接相关的任务。 **原则二:** 在面向对象设计中,尽量减少类...
### JAVA设计模式的六大原则 #### 一、开闭原则(Open-Close Principle) **定义:** 开闭原则强调的是软件实体(类、模块、函数等)应该是可扩展的但不可修改的,即软件实体应该对扩展开放,对修改关闭。 **实践...
设计模式的出现与面向对象设计原则密切相关,包括单一职责原则、开闭原则、里氏替换原则、依赖倒置原则和接口隔离原则等。这些原则指导开发者编写更灵活、可扩展的代码,而设计模式是这些原则的具体实现。 五、设计...
设计模式六大原则是面向对象编程中的基石,为代码的可维护性、扩展性和复用性提供了指导。本文将深入探讨这六大原则中的第一个——单一职责原则(Single Responsibility Principle, SRP),并结合AcountYear.java这...
设计模式六大原则是软件开发中不可或缺的指导原则,它们旨在提高代码的可维护性、可扩展性和可重用性。以下是对这六个原则的详细解释: 1、单一职责原则(SRP) 单一职责原则指出,一个类或模块应只负责一项功能。...
在面向对象编程中,设计模式可以分为三大类: - **创建型模式**:关注对象的创建方式,如单例模式、工厂方法模式等。 - **结构型模式**:关注类或对象的组合,如适配器模式、装饰器模式等。 - **行为型模式**:关注...