设计可复用的OO软件
什么是设计模式
一个模式有四个基本要素:
- 模式名称(pattern name)
- 问题(problem)描述了应该在何时使用模式。
- 解决方案(solution)描述了设计的组成成分
- 效果(consequences)大多关注对时间和空间的衡量,它们也表述了语言和实现问题。
找到相关的对象,以适当的粒度将它们归类,再定义类的接口和继承层次,建立对象之间的基本关系。你的设计应该对手头的问题有针对性,同时对将来的问题和需求也要有足够的通用性。
你也希望避免重复设计或尽可能少做重复设计。
面向对象:封装,继承,多态
Smalltalk MVC中的设计模式
M V C包括三类对象。模型M o d e l是应用对象,视图Vi e w是它在屏幕上的表示,控制器C o n t r o l l e r定义用户界面对用户输入的响应方式。
解决问题:将对象分离,使得一个对象的改变能够影响另一些对象,而这个对象并不需要知道那些被影响的对象的细节
Observer是一种传递消息的机制,特点是被观察者不需要知道观察者是谁,降低了耦合。
特点:
- 视图可以嵌套。
设计可复用的OO软件相关推荐
- 谈谈对一些软件架构设计箴言的理解 对软件的过早地优化是万恶的根源 反设计模式案例简介...
http://www.nowamagic.net/librarys/veda/detail/1897在做项目的时候,有些同事总是提前考虑性能优化,需求变更又是一大堆的重写,让我想起了Donald Kn ...
- 软件的设计原则,设计模式以及软件的质量属性
文章目录 软件的设计 设计原则 设计模式 软件的质量属性 定义 关系 软件的设计 ant design 设计价值观 在蚂蚁的开源项目ant design的介绍中,谈到了价值观,原则和模式之间的关系: ...
- exe软件ui嵌套软件_UI设计行业中的PS软件起什么用途
UI设计行业需要会的软件有非常多, 像PS软件,AI软件,AE软件,XD软件,SKETCH软件, C4D软件,DW软件,墨刀软件,蓝湖软件等等, 都是UI设计工作需要用的, 其中的PS软件是所有软件中 ...
- 面向对象设计与构造:oo课程总结
面向对象设计与构造:OO课程总结 第一部分:UML单元架构设计 第一次作业 UML图 MyUmlInteraction类实现接口方法,ClassUnit和InterfaceUnit管理UML图中的类和 ...
- ML:MLOps系列讲解之《设计机器学习驱动的(ML-powered)软件—我们想要解决的业务问题是什么?》解读
ML:MLOps系列讲解之<设计机器学习驱动的(ML-powered)软件-我们想要解决的业务问题是什么?>解读 导读:设计机器学习驱动的软件,这部分致力于任何软件项目中最重要的阶段之一- ...
- mysql 说说反模式设计_关于反模式、设计和复用的一些想法
在维护系统的时候发现有个工作经验超级丰富的同事在C#代码中使用了goto,这段代码是一个很长的方法,goto的作用是为了复用两段逻辑.当我第一次看到goto是为了复用一段C#代码的时候感觉无比诡异,总 ...
- 合创视觉UI设计会用到哪些软件?UI设计要学什么软件?
UI设计作为设计岗位的一种,在互联网企业中是必不可少的存在,有不少同学都希望成为UI设计师,那么成为UI设计师需要学习哪些软件,它们又是做什么的呢? 那么我们今天就为想要了解UI行业的小伙 ...
- 【教程】广联达装饰设计(Deco Design)软件模型导出
[教程]广联达装饰设计(Deco Design)软件模型导出 首先确认自己的模型是正常,并且可以显示,包括家具(不管是外部还是内部). 选择工具 - 显示设置 - 楼层显示 - 自定义楼层-全部楼层. ...
- 学习游戏3D美术设计一般会用到什么软件?
游戏3D美术主要分为角色和场景两大板块,前者要求你熟悉人体构造,把握人体围观结构,后者要求你有丰富的地理.历史.人文.建筑知识.然而这些都只是基础要求,最重要还是得学软件. 学游戏3D美术设计一般会用 ...
最新文章
- Unity游戏开发大师班
- MPB:南农成艳芬组-​瘤胃厌氧真菌代谢产物的检测方法
- 汇编:ZF(zero flag)标志位
- 如何通过对方IP地址查对方的MAC
- koa-generator 快速生成 koa2 服务的脚手架工具
- 初识python多线程
- bzoj1036 [ZJOI2008]树的统计Count 树链剖分模板题
- oschina mysql limit_【MySQL】LIMIT 的用法
- 针对unicode对象---检测字符串是否只由数字组成
- iis mysql端口修改_如何处理IIS和Apache之间经常端口冲突
- python俄罗斯方块编码简单_python俄罗斯方块教程-100行代码
- 微信weui框架页面html,样式库 WeUI for Work
- bzoj1753[Usaco2005 qua]Who's in the Middle*
- [附源码]计算机毕业设计JAVA社区生鲜仓库管理系统
- 表单设计工具和报表工具
- 安装VS2019、MFC,并创建MFC工程文件,查看工程信息
- 世界空战史上的头号王牌空中杀手
- Flask-中session的工作机制和session操作
- 倾情奉献:我的公众号矩阵之路
- 实用收藏,外贸常用工具大全分享-跨境知道