随笔分类 -  设计模式

摘要:如果说开闭原则是面向对象设计的目标的话,那么依赖倒转原则就是面向对象设计的主要实现机制之一,它是系统抽象化的具体实现。依赖倒转原则是Robert C. Martin在1996年为“C++Reporter”所写的专栏Engineering Notebook的第三篇,后来加入到他在2002年出版的经典著 阅读全文
posted @ 2017-08-11 18:35 千喜ya 阅读(238) 评论(0) 推荐(0)
摘要:里氏代换原则告诉我们,在软件中将一个基类对象替换成它的子类对象,程序将不会产生任何错误和异常,反过来则不成立,如果一个软件实体使用的是一个子类对象的话,那么它不一定能够使用基类对象。例如:我喜欢动物,那我一定喜欢狗,因为狗是动物的子类;但是我喜欢狗,不能据此断定我喜欢动物,因为我并不喜欢老鼠,虽然它 阅读全文
posted @ 2017-08-11 10:56 千喜ya 阅读(252) 评论(0) 推荐(0)
摘要:开闭原则是面向对象的可复用设计的第一块基石,它是最重要的面向对象设计原则。开闭原则由Bertrand Meyer于1988年提出,其定义如下: 开闭原则(Open-Closed Principle, OCP):一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。 阅读全文
posted @ 2017-08-11 09:18 千喜ya 阅读(543) 评论(0) 推荐(0)
摘要:单一职责原则是最简单的面向对象设计原则,它用于控制类的粒度大小。单一职责原则定义如下: 单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。 单一职责原则告诉我们: 阅读全文
posted @ 2017-08-11 09:15 千喜ya 阅读(256) 评论(0) 推荐(0)
摘要:对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一。在面向对象设计中,可维护性的复用是以设计原则为基础的。每一个原则都蕴含一些面向对象设计的思想,可以从不同的角度提升一个软件结 阅读全文
posted @ 2017-08-11 09:12 千喜ya 阅读(250) 评论(0) 推荐(0)
摘要:实例分析1——登录模块 某基于C/S的即时聊天系统登录模块功能描述如下: 用户通过登录界面(LoginForm)输入账号和密码,系统将输入的账号和密码与存储在数据库(User)表中的用户信息进行比较,验证用户输入是否正确,如果输入正确则进入主界面(MainForm),否则提示“输入错误”。 根据以上 阅读全文
posted @ 2017-08-09 13:55 千喜ya 阅读(9531) 评论(1) 推荐(0)
摘要:依赖(Dependency)关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系。大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数。在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。例如:驾驶员开车 阅读全文
posted @ 2017-08-09 11:55 千喜ya 阅读(3447) 评论(0) 推荐(1)
摘要:类与类之间的关系: 在软件系统中,类并不是孤立存在的,类与类之间存在各种关系,对于不同类型的关系,UML提供了不同的表示方式。 1. 关联关系 关联(Association)关系是类与类之间最常用的一种关系,它是一种结构化关系,用于表示一类对象与另一类对象之间有联系,如汽车和轮胎、师傅和徒弟、班级和 阅读全文
posted @ 2017-08-08 18:26 千喜ya 阅读(1598) 评论(0) 推荐(0)
摘要:类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据。 1. 类 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。在系统中,每个类都具有一定的职责,职 阅读全文
posted @ 2017-08-08 16:06 千喜ya 阅读(2994) 评论(0) 推荐(0)
摘要:(1) 关联关系 关联关系是指执行者与用例之间的关系,又称为通信关系,如果某个执行者可以对某个用例进行操作,它们之间就具有关联关系,如下图所示,“经理”有一个功能为“查看库存报表”,因此可以在执行者“经理”和用例“查看库存报表”之间建立一个关联关系,关联关系用实线表示。 (2) 泛化关系 执行者之间 阅读全文
posted @ 2017-08-08 13:59 千喜ya 阅读(7347) 评论(0) 推荐(1)
摘要:UML(统一建模语言): 1. 绘制用例图 用例图是UML中比较简单的一种图形,它包含两个主要组成元素,分别是执行者(Actor)和用例(Use Case)。执行者又称为参与者或角色,用例又称为用况或案例。在用例图中,执行者用一个“小人”符号表示,用例用一个“椭圆”符号表示,因此用例图又有一个名字为 阅读全文
posted @ 2017-08-04 15:50 千喜ya 阅读(903) 评论(0) 推荐(0)
摘要:简单工厂模式 首先将需要创建的各种不同对象(例如各种不同的Chart对象)的相关代码封装到不同的类中,这些类称为具体产品类,而将它们公共的代码进行抽象和提取后封装在一个抽象产品类中,每一个具体产品类都是抽象产品类的子类;然后提供一个工厂类用于创建各种产品,在工厂类中提供一个创建产品的工厂方法,该方法 阅读全文
posted @ 2017-08-04 13:50 千喜ya 阅读(275) 评论(0) 推荐(0)
摘要:在看之后的内容之前建议大家了解下UML(同统一建模语言):UML用例建模解析(一) 设计模式可分为创建型(Creational),结构型(Structural)和行为型(Behavioral)三种,其中创建型模式主要用于描述如何创建对象,结构型模式主要用于描述如何实现类或对象的组合,行为型模式主要用 阅读全文
posted @ 2017-08-04 12:32 千喜ya 阅读(534) 评论(0) 推荐(0)
摘要:1,什么是设计模式 设计模式的作用 解决同一种类型的问题 使用设计模式可以让代码结构更加清晰 https://www.zhihu.com/question/19558521?utm_campaign=rss&utm_medium=rss&utm_source=rss&utm_content=titl 阅读全文
posted @ 2017-07-21 18:16 千喜ya 阅读(667) 评论(0) 推荐(0)