在面向对象设计中有两条重要原则:一,代码高度重用,避免冗余代码。这样的好处是显而易见的,代码的高度重用带来的好处很多。它可以使维护变的简单,如果程序中存在冗余代码,这段代码发生错误需要修改时,我们需要修改所有冗余的代码片,而实际中我们往往漏掉某些片段导致程序中留下BUG。二,设计短小通用的方法。我理解为一个方法只做一件事,这样做的目的就是为了让方法变得更通用,修改起来也变的容易,降低程序的耦合度。
但是,在我们程序设计的时候却往往会发现表面上这两条是相矛盾的,比如对一张表设计查询方法时,需要对不同字段进行查询,而这样的方法大部分代码看起来是一样的,只是SQL有所不同。我们或许会考虑(实际上我们已经这样做了)把所有查询放到一个方法里,而通过查询类型标志来调用不同的SQL以期到达目的。这样做达到了代码重用的效果,如果说这些不同的查询经抽象后确实就是对表的查询,这完全符合面向对象设计的思想。不过,从另一角度来思考,我们设计的方法可能功能过于强大,参数过多,代码结构也比较复杂这违背了第二条原则。
在我把以上文字写完后我已经有了答案,说明我在写之前可能还思考不够。
在我的设计中,觉得应该如下:
如果采用webwork+spring实现的话(因为我就用这种框架:)) 可以将DAO里面的方法设计为最短小的方法,而在service里面放置判断逻辑,action当然只是简单的调用service了。
就是说我将DAO里面的方法设计得短小精干通用。而降低或根本不用考虑service里面方法的可重用性(因为几乎不可能也不需要重用)。
不知道我的设计是否合理??
自我介绍下哈。我是刚从大学里毕业的学生,没多少经验,才疏学浅,望大家指教。
分享到:
相关推荐
本书的最后章节分析了软件的这些特点,为开发者提供了关于如何有效利用软件面向对象设计优势的同时,注意并规避可能存在的问题。 #### 面向对象技术的学习与提高 作者在回答读者问题时提出,无论读者是面向对象技术...
面向对象设计(Object-Oriented Design,OOD)是一种软件开发方法,它基于“对象”的概念,将现实世界的问题域转化为计算机程序。UML(Unified Modeling Language)是面向对象设计的一种标准化建模语言,用于可视化...
面向对象设计理论是软件开发领域中的核心概念,它是一种基于现实世界中对象和它们之间交互的编程模型。这种设计方法论极大地提高了代码的可维护性、可扩展性和重用性。下面将详细阐述面向对象设计的基本概念、原则...
在面向对象设计中,设计模式如工厂模式、单例模式、观察者模式等被广泛应用于解决特定类型的设计问题。 7. 软件开发生命周期(SDLC): 面向对象分析与设计是软件开发生命周期中的关键组成部分。SDLC包括需求收集、...
《面向对象设计原理与模式(Java版)》全面介绍了Java面向对象程序设计的原理和模式,帮助解决Java程序中的设计问题。此外,该书十分注重Java面向对象程序设计的每个细节,以及继承、方法、类、设计模式等在程序设计...
面向对象设计模式是软件开发中的一种重要思想,它通过总结和提炼在软件设计过程中常见的问题和解决方案,形成了可复用的设计规范。标题提到的“23种面向对象设计模式”涵盖了设计模式的主要分类,这些模式在Java、...
面向对象程序设计可以解决这个问题,它可以带来 convenience、fastness、low expenses等优点,提高图书管理员的工作效率,减少工作量,提高读者的阅读体验。同时,面向对象程序设计也可以提高系统的可维护性、可扩展...
面向对象设计之3_基于UML的图书管理系统的分析与设计说明 本资源摘要信息主要介绍面向对象设计和UML(Unified Modeling Language)在图书管理系统中的应用。面向对象设计是一种程序设计方法,强调使用对象、类、...
7. 设计模式:设计模式是解决问题的通用模板,它们总结了面向对象设计中常见问题的解决方案。常见的设计模式包括工厂模式、单例模式、装饰模式、观察者模式等。 8. 系统分析:系统分析阶段是理解问题和需求的过程,...
例如,对于计算员工工资的问题,传统的结构化做法可能会导致大量重复代码,而采用面向对象设计,我们可以通过创建不同的员工类并让它们继承自抽象的`Employee`类,将薪金计算的责任分配给各自对应的类。这样,当需求...
国外计算机科学经典教材-面向对象分析与设计(UML 2.0版) 简介:本书详细介绍了面向对象的分析与设计,全面探讨了面向对象概念、软件开发过程、UML和多层技术。 本书使用最常见的技术和方法,通过一个贯穿全书的...
详细介绍了面向对象的分析与设计,全面探讨了面向对象概念、软件开发过程、UML和多层技术。本书使用最常见的技术和方法,通过一个贯穿全书的案例分析,对面向对象的软件开发过程和使用面向对象技术的编程过程进行了...
在《面向对象设计UML实践》第二版的课后题中,读者可能会遇到各种问题,如绘制特定类型的UML图,解释图中的元素含义,或者分析系统设计的问题。答案将详细解答这些问题,帮助读者深入理解UML的每个概念,并提升在...
面向对象设计的核心在于将问题分解为多个独立的对象,每个对象负责一部分功能,并且可以独立修改而不影响其他部分。这种设计方式与活字印刷有着异曲同工之妙: 1. **可维护性**:就像活字印刷中的文字可以单独修改...
面向对象程序设计课程设计是一门旨在提高学生实际分析问题、编程和动手能力的课程设计。课程设计旨在引导学生学习掌握面向对象思想和 Java 编程语言,熟练运用 Java 工具,通过课程设计各个项目的综合训练。 知识点...
首先,面向对象设计(Object-Oriented Design,OOD)是一种基于对象模型的设计方法,它强调将现实世界的问题域转化为计算机程序中的对象。在门禁系统中,可以识别出几个核心概念:用户、权限、门禁设备和控制策略。...