软件设计

Posted 圣龙阿布

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件设计相关的知识,希望对你有一定的参考价值。

1、  简单工厂模式:简单工厂模式不属于GoF23个基本设计模式,满足“单一职责原则”,当你需要什么,只需要传入一个正确的参数,就可以获取你所需要的对象,无需知道其创建细节。

2、  工厂方法模式:

  1. 简单工厂模式。,最简单操作,利用接口类,然后再具体类中调用参数,函数,其中工厂类(**Factory)起着核心作用,通过Product(抽象产品角色)ConcreteProduct(具体产品角色)来实现简单共产模式。
  2. 工厂方法模式。具体解决所有产品都是同意共产生产,而无法灵活的添加工场新产品缺陷。通过添加(抽象工厂类)控制(具体工厂类),通过(抽象产品类)控制(具体产品类)。
  3. 抽向工厂类。是工厂方法模式的进步,在具体工厂中可以生产多个产品。提供一个创建一系列相关或以来对象的接口。就是在抽象工厂类中创建多个方法,在具体工厂类中继承多种方法函数。然后在分别设置各个产品的抽象产品类以及具体产品类。
  4. 建造者模式。用于创建一个包含多个组成部分的复杂对象,返回一个完整产品。在(产品类)中有全部的各个组成产品,然后进行抽象建造类构造函数,返回的是一个包(所有产品),根据执行者选择不同的产品,例如包中有(衣服,食品)两个类产品,但是执行者选择的是具体产品(衬衫和馒头),返回具体产品包。
  5. 原型模式。分为抽象原型类,具体原型类,客户类。可以产生相似的产品,例如孙悟空复制一样。通过千客隆,深克隆,完善产品。
  6. 单例模式。确保某一个类只有一个实例,而且自行实例化并向整个系统图提供实例。适用于只有一个实例对象。只包含一个单利角色,防止在外部对其实例化,将其设置构造函数私有。客户调用累的单个实例只允许使用一个公共访问点。
  7. 适配器模式。包含角色:目标抽象类,适配器类,适配者类,客户类,增加类的透明性和复用性,其中灵活性以及扩展性都能能够非常好。将目标类和适配者类进行解耦,符合开闭原则。缺点难以更换适配器类。
  8. 桥接模式。包含角色:抽象类,扩充抽象类,实现接口类,具体实现类。通过抽象化,实现化,脱藕,。提高了系统的可扩展性,实现细节对客户的透明性,可以对用户实现隐藏实现细节。分离抽象接口以及其实现部分。
  9. 组合模式。包含角色:抽象构建,叶子构件,容器构件,客户类。可以清楚地定义分层次的复杂对象,表示全部或部分层次,客户端调用简单,,客户端可以一致的使用组合结构或其中的单个对象。简化客户端代码。
  10. 装饰模式。包含角色:抽象构件,具体构件,抽象装饰类。具体装饰类。在不改变对象的基础上给对象增加额外的新行为。目的是扩展对象的功能。同时比继承关系更加的具有灵活性。符合开闭原则,无需改变原有代码,增加新的具体构件类。
  11. 外观模式。定义一个外管接口,跟家容易的与子接口连接。模式结构包含:外观角色以及子系统角色。其中一个系统可以有多个外观类,主要优点在于对客户屏蔽子系统组件,

减少客户处理系统的数目。

  1. 享元模式。运用共享技术实现大量对象的复用。模式结构包含:抽象享元类,具体享元类,费共享具体享元类,享元工厂类。区分内部状态和外部状态,极大地减少类内存中对象的数量,使得相同或者相似对象只能够保存一份。
  2. 代理模式。有代理对象控制原有的对象。主要角色:抽象主题角色,代理主题角色,真是主体角色。能够协调 调用者和被调用者,贱死系统的耦合性。同时代理对象可以控制真是对象的权限分配,对系统进行优化提高系统的性能。
  3. 职责连模式。属于行为型模式。半酣角色;抽象处理者,及具体处理者,客户类。降低耦合度,可以简化对象的相互连接,增强给对象的纸牌职责的灵活性,增加新的强求处理类会变得非常方便,符合开闭原则的。
  4. 命令模式。模式结构包含:抽象命令类,具体命令类,调用者,接受者,客户端类,增加新命令方便。
  5. 解释器模式。定义语法的结构,建立一个解释器来解释语言中的句子。模式结构:抽象表达式,终结符表达式,费终结符表达式,环境类,客户端类。
  6. 迭代器模式。提供一种方法来访问聚合对象。模式结构包含:抽象迭代器,具体迭代器,抽象聚合类,具体聚合类。以不同方式遍历一个聚合对象。
  7. 中介者模式。模式结构:抽象中介者,具体中介者,抽象同时类,具体同时类。简化对象之间的交互,将同事之间耦合,减少子类生成。
  8. 备忘录模式。模式结构:源发器,备忘录,负责人。提供一种状态恢复实现机制。实现了信息的封装。
  9. 观察这模式。一对多的依赖,每一对象变化,引发全局变化。模式结构的角色:目标,具体目标,观察者,具体贯观察者,例如猫狗是行为模式方。符合开闭原则,简化系统设计的难度。
  10. 状态模式。允许一个对象在其内部改变状态一起行为变化。环境类,抽象状态类,具体状态类,例如银行状态客户,表现明显,适用于多个对象,多种在状态的表现。
  11. 策略模式。模式结构:环境类,抽象策略类,具体策略类,提供对开闭原则的完美支持,提供管理的相关算法,替换继承关系的方法。
  12. 模板方法。模式结构包含:抽象类,具体子类。在一个类中形式化的定义一个类,是代码富有用的基本技术。
  13. 访问者模式。在不改变角色的额前提下,进行对元素进行操作。模式结构包括 :抽象访问者,具体访问者,抽象元素,具体元素。用户可以再不修改现有的类层次中定义类层次的新操作。

3、   

以上是关于软件设计的主要内容,如果未能解决你的问题,请参考以下文章

MAC下都有哪些UI设计师使用的软件

专业3D绘图设计软件用啥软件?

软件设计原则都有哪些

求软考软件设计师考试视频教程

自学平面设计需要学哪些软件

软件设计模式都有哪些?