上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 20 下一页
摘要: 需求如下: 有这样一家超市,对顾客实行会员制,会员目前分为两个等级:金卡及银卡。 每次会员购物时,都会根据会员等级提供不同的折扣优惠和返点。 设计方案有三个: 1. 过程设计,用作对比 2. 过程式的OO设计,简单来说就是将过程设计中的函数封装到类里面 3. 标准的OO设计,封装、继承、多态、设计模式,能用的都用上 问题: 如果是你,你会采用哪种OO设计,或者有更好的设计? 过程式设计:Java代码 //client:stringid=input_id;stringtype=GetMemberTypeByID();;intdiscount=GetDiscountByType(type)... 阅读全文
posted @ 2011-11-25 18:43 永哥 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 前一篇Post因为绘图的关系导致理解上有所误区,所以重构一下,重新更新了图形,让我们重新来审视一下这个被多次讨论的设计。首先是图书馆的用例:其实用例的情况大家都很清楚了,简而概之就是用户在图书馆的书架上找到自己想要的书,然后向管理员出示借书卡后借到想要的书。用例图。这是一个很简单的用例,我没有分析完所有的用例以及子用例,这里到此就可以打住了,我们可以在以后的迭代过程当中来继续完善然后根据需求我们来建立业务规则表:规则一:借书需要出示身份证明以及借书卡 (来源:图书馆馆规)规则二:每个用户一张借书卡 (来源:图书馆规定)规则三:每张借书卡可以借N本书 (来源:图书馆规定)然后得到领域模型:这 个 阅读全文
posted @ 2011-11-25 17:44 永哥 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 在大学里的某一天,一个漆黑的夜晚,我来到了一个学校里阴森的图书馆,虽然说不喜欢,但是为了考试不要零蛋,所以拼死也要温书了。来到图书馆的柜台前,遇到了图书管理员。然后我跟管理员说:“我来借书了”,管理员头也不抬的把手一指:“书架在那边,自己去找”。-----------------------------------------------------------------------------------------------------------------------------------------------------------------书架实在是很多,都是分门别类的把 阅读全文
posted @ 2011-11-25 17:43 永哥 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 问:看了网络上的说法:一个方法要有一个返回类型,比如String, int等,如果这个方法只是执行了一个操作不返回结果,就把返回类型设置为void,表示什么都不返回,只是执行了一个操作 。-------------------------------------例如方法是string,那需要返回。那我想问返回干嘛,有什麼用?答:一般函数都是被用来调用的,返回值就是你调用函数的运行结果。 变量是具有作用域的,一般在函数里面声明的变量的作用域即是在函数里面,函数运行结束以后就会消失,这时候返回一个值就可以使你获取到函数的运行结果。当然,你可以不用返回值,设置全局变量或者是通过传递引用参数来获取.. 阅读全文
posted @ 2011-11-25 17:24 永哥 阅读(1237) 评论(0) 推荐(0) 编辑
摘要: 首先什么是封装就不用多说了,上次说到,类是用来描述是什么,属性表示有什么,而行为表示能够执行什么动作的时候没有进一步对如何封装这些概念来做进一步的阐述。 对属性的封装: 属性表示对象的状态,而状态在程序里是使用数据来表示的,所以类中使用变量的来存储。所以一个类的内部成员变量是用来存储对象的状态的。 为了封装状态,我们需要将变量的访问性设置为private。 但是很多时候对象的某些状态是需要外界可见的(外部可见的状态,很容易理解,如果对象的状态都不清楚,那不是两眼一抹黑闷头操作),打个比方,汽车对象, 起码来说,当前跑的速度,车身颜色,车牌号码都应该是外部能够了解的状态。那么,在java中,只. 阅读全文
posted @ 2011-11-25 17:08 永哥 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 其实我自己也就能简单用用js而已,但是呢,相对很多初学者来说多懂了点Know How所以斗胆孟浪一下,将一些所得记录下来,以供更多的初学者能够知道一个东西的实现过程,省去在源码里摸索的过程。在表单程序中,在页面上需要很多的Js代码来验证表单,每一个field是否必须填写,是否只能是数字,是否需要ajax到远程验证,blablabla。如果一个一个单独写势必非常的繁琐,所以我们的第一个目标就是构建一个类似DSL的东西,用表述的语句而非控制语句来实现验证。其次一个个单独写的话还有一个问题就是必须全部验证通过才能提交,但是单独验证会因为这个特征而增加很多额外的控制代码,且经常会验证不全面。所以第二个 阅读全文
posted @ 2011-11-25 16:59 永哥 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 问:public String getPassword() { return password; } public void setPassword(String password) { this.password = password;第一步的return返回什么第二步的 this怎么解释答:你前面应该定义了password这个字段并且为String 类型的,类似这样:private String password;其实getPassword()和setPassword()是对你定义的password进行取值和赋值,这两个方法执行的顺序是这样的:首先执行setPassword();//对.. 阅读全文
posted @ 2011-11-25 15:40 永哥 阅读(2231) 评论(0) 推荐(0) 编辑
摘要: 当类声明了私有成员时,如果需要 获取(get) 或 设置(set) 这个私有成员的值,可以为这个私有成员编写get或set 方法 package cn.itcast.domain;import java.util.Date;public class User { private String username; private String password; private String gender; private Date birthday; private String email; public String getUsername() { return username; } . 阅读全文
posted @ 2011-11-25 15:31 永哥 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 最近针对OO有了太多的讨论,太多的误会,太多的不理解。让我来一次性解决什么是对象,为什么要面向对象的问题吧,这是第一篇。所谓面向对象的编程、设计、思想。我们用大白话来说。面向对象就是用 某物(对象),是什么(类),有什么(对象的状态),能干什么(方法)的方式来描述程序的方法。这就是面向对象。面向对象的程序的特征,封装性:也就是某物状态的改变,必须是他自己的行为来改变。打个比方,我(人类),有钱(有什么),你(人类),要找我借钱(能干什么)。于是class Man() { private int money; public int Money { get{return money} s... 阅读全文
posted @ 2011-11-25 15:05 永哥 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 1. The Best Designs以前介绍过这个The Best Designs,所以这次就不细数它的优点了。对此站不甚了解的朋友来说,The Best Designs是个遍览高质量XHTML和FLASH设计的优秀网站。每个网站设计都会加上相关的标签(比如 – Bold, Colorful,CSS),让你更方便的找到你想要的。2. CSS Remix照CSS Remix自己的话说,他们是“一个新鲜的Web2.0最佳设计站点的大本营” (尽管有些搜罗的站点并不是Web 2.0的)。RSS订阅者超过14,000人,CSS Remix绝对可以称得上是设计师们发现别人设计作品的主流网站之一。3. 阅读全文
posted @ 2011-11-25 14:52 永哥 阅读(209) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 20 下一页