面向对象程序设计,你以为你了解面向对象设计么?

你以为你了解面向对象设计么?你可能说:“是的,我了解!”那么好,来看一个例子。 下面这个设计,你认为是面向对象设计么? Button类的代码如下: public class Button { private Lamp lamp; public void Poll() { if (/* some condition*/) { lamp.TurnOn(); } } } 你可... [阅读全文]

面向对象,做Web应用程序时应该如何面向对象杂谈

做Web应用程序很多年了,却一直使用非常熟悉的方式,三层结构(Dal,bll,Web),可是仔细一想哪里有用到面向对象?貌似没有吧,顶多隔离业务和数据了。那么MVC呢,它其实也只是改变了我们编程的方式,准确的说是页面的处理方式,我们一样写dal,bll,web。可是有的时候却很想用用面向对象,可是思考许久却不知如何下手,不知道大家有没有有过类假的情景。 做Web应用程序时,大多都是对数据的CRU... [阅读全文]

面向对象分析设计,面向对象的分析与设计

引言  我们首先介绍一些名词翻译:  Object-Oriented Analysis and Design---面向对象分析和设计  Assignning Responsibilities---分配职责  Iterative Development and the Unified Process---迭代开发和统一的过程  Embracing Change---拥抱变化  Feedback an... [阅读全文]

面向对象程序设计,对象设计的艺术

上周末,麦斯博在上海召开了亚太软件研发团队管理年会,我作为讲师参与了架构分会场的演讲。我的演讲题目正是《对象设计的艺术》。“艺术”这个词语有些大,有点玄,不过我确乎希望能将设计作为一种艺术,与工程结合,既注重实效,又能保证软件的质量,代码的优雅。在这次演讲中,我希望能够深层次地挖掘所谓设计的本质。这是我的有感而发。因为在设计领域中,前人已经为我们总结了太多的思想、原则与模式... [阅读全文]

面向对象设计模式:面向对象设计模式——策略模式

策略模式:  定义了算法族分别封装起来让它们的间可以互相替换此模式让算法变化独立于使用算法客户  设计原则:  1.找出应用中可能需要变化的处把它们独立出来不要和那些不需要变化代码混在起;  2.针对接口编程而不是针对实现编程;  3.多用组合少用继承  例子:模拟鸭子游戏  真鸭子会游泳、呱呱叫、会飞  橡皮鸭子会游泳、吱吱叫、不会飞  分析:  不需要变化部分:会游泳  需要变化部分:叫声、是... [阅读全文]

面向对象程序设计:面向对象软件Software设计介绍说明书模板

1 概述   1.1 系统简述   对系统要完成什么所面向用户以及系统运行环境简短描述这部分主要来源于需求介绍说明书开始部分   1.2 软件Software设计目标   这部分论述整个系统设计目标明确地介绍说明哪些功能是系统决定实现而哪些时不准备实现同时对于非功能性需求例如性能、可用性等亦需提及需求规格介绍说明书对于这部分内容来说是很重要参考看看其中明确了功能性以及非功能性需求   这部分必须说... [阅读全文]

实验室设计准则:而向对象设计的准则

所谓优秀设计就是权衡了各种原因从而使得系统在其整个生命周期中总开销最小设计对大多数软件Software系统而言60%以上软件Software费用都用于软件Software维护因此优秀软件Software设计个主要特点就是容易维护 指导软件Software设计几条基本原理这些原理在进行面向对象设计时仍然成立但是增加了些和面向对象思路方法密切相关新特点... [阅读全文]

面向对象设计原则:面向对象设计(OOD)原则

单职责原则(SRP):个类应当只有个改变原因类只需要知道件事情它们应当有个单独职责要点就是当个类需要改变时应当只有个原因 开放-封闭原则(OCP):软件Software实体(类、模块、等)应当为扩展而开放又为修改而封闭这个原则有个相当详细定义但是个简单意思是:你应当能够改变个模块周边环境而无须改变模块本身 Liskov替换原则(LSP):子类型(subtypes... [阅读全文]

面向对象分析和设计:Coad和Yourdon面向对象设计

coad和Yourdon在设计阶段中继续采用分析阶段中提到 5个层次他们认为这有助于从分析到设计过渡区别是在设计阶段中这 5个层次是用于建立系统 4个组成成分上这 4个组成成分是问题论域、用户界面、任务管理和数据管理图9.49给出了这 4个部分及其相互的间关系在OOA中实际上只涉及到问题论域部分其他 3个部分是在ooD中加进来 问题论域部分包括和所面对应用问题直... [阅读全文]

面向对象设计的原则:面向对象设计原则

(1)SRP 单职责原则 就个类而言应该仅有个引起它变化原因 职责即为"变化原因". (2)OCP 开放封闭原则 软件Software实体(类、模块、等)应该是可以扩展但是不可修改 对于扩展是开放,对于更改是封闭. 关键是抽象.将个功能通用部分和实现细节部分清晰分离开来. 开发人员应该仅仅对中呈现出频繁变化那些部分作出抽象.拒绝不成熟抽象和抽象本身样重要. (3)LSP Liskov替换原则 子类... [阅读全文]

面向对象的程序设计:面向对象设计的新视角

Alan Shalloway是Net Objectives创建者和总裁自1981年起为工业界提供面向对象和软件Software开发指导和培训如Attachmate, Avaya, Boeing, IBM, Microsoft, Phillips Medical s, Price Waterhouse Coopers, QWest等Alan研究范围包括:desig... [阅读全文]

数据存取优化:漫谈数据存取与对象设计

先重复下问题: 以学生和老师为例public Student { name; Teacher teacher; } public Teacher { name; ListStudent students= ListStudent; } 双向关联意味着强耦合在我看来这就像BLL层和DAL层双向样很不爽是不是这种双向关联在设计中是必要呢?另外假设我要找到老师... [阅读全文]

面向对象c程序设计:C++对象设计描述

1、软件设计概念 软件开发生命周期:计算机行业发展出的软件工程理论,控制软件系统的设计与实现,总结出来的开发模型。基本上包括以下几个阶段: 需求:客户需要软件系统解决问题,计算机业的咨询者进行项目的可行性研究。 分析:系统分析员分析系统需求,并创建系统的功能定义,其中包括一系列的需求和特定要求。 设计:软件工程师将功能定义转换成系统的抽象模型。工程师标示出系统组件,并开发实现算法。 实现:程序员使... [阅读全文]

面向对象程序设计:C#面向对象设计模式纵横谈

命令(Command)模式属于对象行为模式【GOF95】命令模式又称为行动(Action)模式或交易(Transaction)模式命令模式把个请求或者操作封装到个对象中命令模式允许系统使用区别请求把客户端参数化对请求排队或者记录请求日志可以提供命令撤销和恢复功能 每个命令都是个操作:请求方发出请求要求执行个操作;接收方收到请求并执行操作命令模式允许请求方和接收方... [阅读全文]
1 共1条 分1页