OOAD设计模式解析

模式包含的要素
1.模式名称
2、该模式所能解决的问题
3、解决方案
4、使用该模式后的效果(优点和缺点)
模式
避免重复问题而提出来的解决方案
类型
架构模式
软件加构上的,整体考虑而提出来的一些解决方案,比如:B/S,C/S,MVC,ORM,事务脚本,领域模型……从宏观的角度来说
设计模式
是从微观的角度上来看软件开发过程中,碰到的一些重复业务场景并提出的解决方案。
设计模式分类
创建型设计模式
更多的关注对象如何创建,而提出来的各种创建方案
结构型设计模式,
更多的关注于类和类,对象和对象的整体结构而提出来的各种解决方案
行为型设计模式
更多的关注与实例之间的行为互调,以及职责分配的问题
分类
创建型模式
结构式模式
行为型模式
重点掌握:
代理模式
单例模式
简单工厂方法:将产品的生产,从调用类中提取到工厂类中来,工厂的职责就是产生客户想要的产品。如果后续需要拓展新的产品。我们只需要修改工厂类(违背开闭原则。其实可以借助反射来解决)
又称之为静态工厂方法模式,该模式会专门定义一个工厂类,然后再工厂类中提供一个静态方法,由该静态方法根据用户的输入,动态决定创建什么类型的对象,通常来说工厂类都有一个特点就是具备相同的父类,或者具备相同的接口
简单工厂的三种角色:
产品的抽象类(或接口):对具体产品进行类的抽象或行为的抽象
具体的产品:工厂类产生的实例
工厂类:主要负责根据用户的输入,动态的产生具体的产品
作用:将客户调用类上的职责分离,每一个客户调用类身上至少具备两个职责(创建对象的职责,调用对象的行为的职责),进行职责分离,让调用类最终只存在一个职责(调用对象的行为的职责),而将创建对象的职责委托给工厂类
缺点:
简单工厂,实际上将对象的产生,由之前的客户调用类身上,强制性的定义在工厂类身上,工厂类此时具备了一定的创建对象的业务逻辑,以及一些判断逻辑。那么如果具体的产品,需要发生变化,或者是有新的产品需要拓展,那么毫无疑问,此时就需要去针对工厂类做相应的变化,那么无形中就违背了“开闭原则”,“单一原则”,“接口依赖倒转原则”
注:简单工厂模式,只能产生同一家族(继承相同类,实现相同接口)的产品,非统一家族的产品,简单工厂是无法使用的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
面向对象分析与设计(OOAD)的设计图书管理系统的主要目标是实现对图书的管理和借阅的功能。 首先,我们需要定义核心的类,如图书类、用户类、借阅类等。图书类应该包括图书的属性,如书名、作者、出版社、出版日期等。用户类应该包括用户的属性,如用户名、密码、借阅记录等。借阅类应该包括借阅的属性,如借阅日期、归还日期等。 其次,我们需要定义类之间的关系和交互。用户可以通过登录系统来进行图书的搜索、借阅、归还等操作。系统应该提供相关接口供用户操作。用户借阅图书时,系统需要检查图书的状态(是否已借出),如果图书可借,则将借阅记录添加到用户的借阅记录中,并将图书的状态更新为已借出。借阅期满后,用户需要归还图书,系统将相关记录从用户的借阅记录中删除,并将图书的状态更新为可借状态。 此外,系统还应该提供管理员的功能,管理员可以对图书进行管理,包括添加、删除、修改图书的信息。管理员可以查看所有用户的借阅记录,并对超期未归还的图书进行催还等操作。 最后,系统应该具备一定的安全性,包括用户登录验证、管理员权限验证等,以保护用户和图书信息的安全。 综上所述,通过OOAD的设计,可以构建一个功能完善、易于使用和管理的图书管理系统。系统可以提供用户与图书之间的交互,同时具备管理员对图书和用户的管理功能,满足图书管理的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值