摘要: 在第二篇日志中我们完成了一个初级的入门模式:简单工厂模式。现在应客户需求咱来完成一个简单的商场收银软件,营业员根据客户所购买的产品的单价和数量,向客户收费。用两个文本框来输入单价和数量,一个确定按钮来算出每种商品的费用,用个列表框来记录商品的清单。为了适应市场的需求,有时候为了商场的盈利、吸引更多的顾客,商场会举行一系列的活动,诸如:满300返100、满700返200、满200送50等、这样的在此项目中变化的算法的变化、咱用简单工厂模式来封装此变化点。咱来分析这个项目:面向对象的编程,并不是类越多越好,类的划分是为了封装,但分类的基础是抽象。具有相同属性和功能的对象的抽象类的集合才是类。所以在 阅读全文
posted @ 2011-11-16 08:56 指尖流淌 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 声明:转自《大话设计模式》一书在第三篇日志中我们应用到简单工厂模式来应对商场中举行活动所带来的诸多变化,但是由于市场变化的频繁性,简单工厂模式已经不能满足市场的变化,这一篇咱介绍一种新的模式:策略模式。策略模式:它定义了算法家族,分别封装起来,让他们之间可以相互替换,不会影响到使用算法的客户在商场中收银时如何促销,永达这还是返利,其实都是一些算法,用工厂来生成算法对象,这个没有错,但算法本身只是一种策略,最重要的是这些算法随时随地都有可能变化互相替换的,这就是变化点,我们封装变好点使我们面向对象的一种很重要的思维方式。我们看策略模式是怎样实现封装变好点的。第一步:抽象算法类第二步:分别实现算法 阅读全文
posted @ 2011-11-16 08:55 指尖流淌 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 这篇日志我们来介绍设计模式的一大原则:单一职责原则单一职责原则(SRP):就一个类而言,应该仅有一个引起他变化的原因现在来设计俄罗斯方块游戏、要是我们完成这个小游戏,我们的思路是什么?我们一般会这样考虑,首先他方块下落的原理是画四个小方块,擦掉,然后再在下一行画四个方块。不断的绘出和擦掉就形成了动画,所以应该要有画和擦方块的代码,然后左右键实现左移和右移,下键实现加速,上键实现旋转,这其实都应该是函数,当然左右移动需要考虑碰撞问题,下移需要考虑堆积和消层问题。步骤如下:1、先建立一个窗体、2、加上一个用于游戏框架的控件,比如Panel或者picturebox,一个按钮button来控制“开始” 阅读全文
posted @ 2011-11-16 08:52 指尖流淌 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 在软件系统中,有时候面临的产品是动态变化的,而且这个产品具有一定的等级结构,这是如果用工厂模式,则与产品等级结构平行的工厂方法类也要随着这种变化而变化,显然不大合适,那么如何封装这种动态的变化?从而使依赖与这些易变化的对象的客户程序不随着产品类的变化?这就是这篇日志所要描述的:原型模式原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型的创建新的对象举个例子:原型模式使用原型实例指定创建对象的种类,新产品的原型通常是现有全部产品建立的,这样的原型是被动的,并不参与复制他自己,一个细胞的有丝分裂,产生了两个同样的细胞,是一个扮演主动角色复制自己原型的例子,这演示了原型模式,一个细胞分裂, 阅读全文
posted @ 2011-11-16 08:50 指尖流淌 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 三层构架一般的是只界面层、业务层、数据层。界面层就是系统的操作界面,和用户直接交互的地方,业务层又称逻辑层,英文名称是Business Logic Layer;简称BLL,是执行业务逻辑的地方,也就是业务逻辑规则都在这个层中体现,数据层也称为数据访问层,英文名称是Database Access Layer,简称DAL,这里是直接和数据库进行交互的地方,也是整个系统里唯一允许访问数据库的地方,除此之外,还有一个业务实体层,这个层比较特殊,就是定义实体类的地方,有些人把这个层归属业务层,有些人把这个层对立出来,变成一个公共层。各个层次之间的访问关系,界面层只能只能单向访问业务逻辑层,业务逻辑层只能 阅读全文
posted @ 2011-11-16 08:47 指尖流淌 阅读(2082) 评论(1) 推荐(0) 编辑
摘要: 在我们生活中一些事物总有它它特有的属性、像论文、建立、求职信等、都有其固有的格式来书写,下面咱咱用简历来实现咱原型模式的实现。当咱书写一份简历时,必须要有姓名、可以设计性别、年龄、可以设置工作经历,最终咱们就可以利用这个固定的模式来书写简历。简历的初步代码实现如下: 这里面客户端用到两份简历、我们需要实例化两次,这样你会不会觉得在客户端很麻烦,假如我们需要二十份简历的话,那我们至少需要实例化29次了啊,这倒不是很严重的,假如我们要将98年改成99年,那我们就要改二十次了,好到此我们该是原型模式出场的时候了,因为所有的简历的格式是固定的,原型模式,用原型实例指定创建对象的种类,并且通过拷贝这些原 阅读全文
posted @ 2011-11-16 08:46 指尖流淌 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 在我们生活中一些事物总有它它特有的属性、像论文、建立、求职信等、都有其固有的格式来书写,下面咱咱用简历来实现咱原型模式的实现。当咱书写一份简历时,必须要有姓名、可以设计性别、年龄、可以设置工作经历,最终咱们就可以利用这个固定的模式来书写简历。简历的初步代码实现如下: 这里面客户端用到两份简历、我们需要实例化两次,这样你会不会觉得在客户端很麻烦,假如我们需要二十份简历的话,那我们至少需要实例化29次了啊,这倒不是很严重的,假如我们要将98年改成99年,那我们就要改二十次了,好到此我们该是原型模式出场的时候了,因为所有的简历的格式是固定的,原型模式,用原型实例指定创建对象的种类,并且通过拷贝这些原 阅读全文
posted @ 2011-11-16 08:43 指尖流淌 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 先声明此文章是个人学习《大话设计模式》这本书个人学习积累之用....非个人原创...因其公司最近统一工装,需要我们自己去配置服装,这里面分得了很多学问,在我们平常的时候,我们不妨走点嘻哈路线,像:大T恤、跨库、破球鞋、这要求我们平常的时候穿,但是我们在上班的时候我们就需要换一种装饰了,像:黑西装、黑领带、黑皮鞋.......说到此、在我们平常生活中,比如腾讯的QQ装扮、网络游戏装扮、都需要我们来设计角色的着装问题,好咱现就第一种装扮用程序来实现:这样我们实现了用户自己选择服装的功能,当我们上班的时候我们就可以选择第二种正装来实现共能,在下班后我们就可以用第一种软件来实现,但是问题又出来了,夏天 阅读全文
posted @ 2011-11-16 08:39 指尖流淌 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 1、 自动更新OOB模式的问题以及怎样避免需要数字签名,关于OOB模式的在线更新需要自己实现如下代码: 1 2 3 4 5 6 7 8 91011121314151617181920212223242526271 private void OnCheckAndDownloadUpdateCompleted(object sender, CheckAndDownloadUpdateCompletedEventArgs e) 2 { 3 if (e.UpdateAvailable && e.Error == null) 4 { 5 MessageBox.Show("应用新 阅读全文
posted @ 2011-11-16 08:32 指尖流淌 阅读(952) 评论(0) 推荐(0) 编辑
摘要: 在用户界面设计方面的竞争多半是围绕着如何制作出有吸引力、使用、灵活的用户界面而开展的,在基于浏览器的应用中进行界面的设计是一种更加需要技巧的工作,因为我们的客户端总是丰富多样而又难以准确预测,幸好,Silverlight继承了WPF中灵活的界面设计的特点。Silverlight中使用Layout model进行布局的管理,我们将所有的元素放在一个容器container中,每个容器都有自己的界面逻辑,比如ackpanel,grid,canvas等,我们甚至可以创建具有自定义逻辑的容器。所有的容器都从抽象类system.windows.controls.panel.class继承而来.panel类 阅读全文
posted @ 2011-11-16 08:31 指尖流淌 阅读(641) 评论(0) 推荐(0) 编辑