当前位置:  编程技术>软件工程/软件设计
本页文章导读:
    ▪设计模式——策略模式           在进入设计模式这个主题之前,我们先来明确两个问题:第一、什么是设计模式?第二、我们为什么要用设计模式?好,现在我们先来讨论第一个问题,那就是什么是设计模式.........
    ▪信息系统项目管理师论文写作需要注意的九个方面          信息系统项目管理师论文写作时要注意好如下九个方面:     (1)理论联系实际,一定要与项目关联起来讨论,切忌空谈理论;     (2)论点要正确,合乎工程实践.........
    ▪“软考”案例分析之十条解题锦囊          (1)全面阅读题干和问题描述,正确定位出题人意图和所考知识领域;     (2)通过分析把握三个问题间的内在联系;     (3)案例的主题方向一般来自.........

[1]设计模式——策略模式
    来源: 互联网  发布时间: 2013-10-30

     在进入设计模式这个主题之前,我们先来明确两个问题:第一、什么是设计模式?第二、我们为什么要用设计模式?好,现在我们先来讨论第一个问题,那就是什么是设计模式?设计模式,即Design pattern,是一套被反复使用、多数人知晓、经过分类编目的代码设计经验的总结。注意这个关键字,设计模式是对代码设计经验的总结。(在后面我们会学到三层架构,因此明确这一点便可以很好将二者进行区分。好,言归正传——)。那么,第二个问题,我们究竟为什么要用设计模式呢?我们在进行第一遍学生管理系统和机房收费系统时我们会发现,我们的目的是能够实现窗体预设的功能,而全然不去考虑怎样写更科学,也没有想到复用、维护之类的问题。因为那时我们的头脑里根本就没有那些概念。可是,问题来了!如果,涉及到系统很庞大,我们一个人无法单独完成项目,必须分工合作时;如果我们涉及到做工程做到一半经理把你安排到另一个项目上去,让别人接手你的工程;如果,工程完成后涉及到了后期的维护工作;如果项目做到一半用户临时改变了一些要求….诸如此类,遇到这些状况时,我们怎么办?单纯的做“程序猿”吗?不知疲倦的修改,只会“Ctrl+C”“Ctrl+V”?如果真的是这样的话,那么我们“牺牲”在IT这片热土上估计都不会有人心疼。为什么?因为我们只会机械的复制、粘贴,而没有从代码本身入手。因此,设计模式,便应运而生了!


     在谈到设计模式前,需要把设计模式中的几大原则认真学习一下,因为所有的设计模式都是对设计原则的应用.因此,我们应该首先掌握设计模式的几大原则(对此,我有这方面的博客。设计模式中的几大设计原则(一):http://ggddez.blog.163.com/blog/static/184568333201321083815118/   设计模式中的几大设计原则(二):http://ggddez.blog.163.com/blog/static/184568333201321751159898/  )。好了,下面我们言归正传。接下来的几篇博客中我会介绍几个在设计模式中较为常用的模式。今天介绍的是策略模式。


策略模式的定义:

     关于策略模式的定义,原文是这样的:The StrategyPattern defines a family of algorithms(算法),encapsulates(将...封进内部) each one ,and makes theminterchangeable(可互换的)。Strategy lets the algorithm  vary(变化)independently from clients(客户) that use it。其实我已经在原句上面把生涩的单词标注上了相应的中文。整句话翻译过来的 意思是:策略模式定义了一个算法家族,分别封装起来,让它们相互之间可以替换,这个模式让算法独立于使用它的客户而独立变化。其实最后一句话“Strategy lets the algorithm  vary(变化)independently from clients(客户) that use it”翻译的不是很好,意思就是这个模式让算法的变化不会影响到使用算法的客户,让算法变化和客户使用相独立。

 

如何理解:

     我为什么要用上面那么大的篇幅去介绍策略模式的定义?为的就是能从定义的角度很好的理解什么是策略模式。在我看来,策略模式就是一个对象可能会有很多的行为,这些行为又都是相互独立的,在不同的环境或时间或地点会发生不同的行为。而我们的策略模式就是将这些不同的行为列举出来,分别封装好,相互独立。等对象在特定的时间/环境/地点进行这些行为。


具体例子:

     这么说不免有些拗口,下面我举一个例子。比如,有一批货物,可以用火车运,相应的费用为X元

    
[2]信息系统项目管理师论文写作需要注意的九个方面
    来源: 互联网  发布时间: 2013-10-30

    信息系统项目管理师论文写作时要注意好如下九个方面:


    (1)理论联系实际,一定要与项目关联起来讨论,切忌空谈理论;
    (2)论点要正确,合乎工程实践的实际情况;
    (3)可以采用分条叙述的方式,但不要全文用此方式;
    (4)论点清晰,最好每段在开头处或结尾处点明论点;
    (5)结尾处要对项目的实施情况,以及应用论点论据应用情况作出总结。
    (6)不必列举过多的计算公式。
    (7)文章要带有一定的学术性,更多的应是谈项目经验。
    (8)不要专注于技术,多就论题写管理方面的问题及采取的措施。
    (9)论文中一定要响应题目中提出的问题。
作者:xiaoxiangtuo 发表于2013-4-4 10:44:46 原文链接
阅读:24 评论:0 查看评论

    
[3]“软考”案例分析之十条解题锦囊
    来源: 互联网  发布时间: 2013-10-30
    (1)全面阅读题干和问题描述,正确定位出题人意图和所考知识领域;


    (2)通过分析把握三个问题间的内在联系;


    (3)案例的主题方向一般来自题干后面提出的三个问题之中,不要仅凭经验作答;


    (4)案例分析其实存在“标准答案”,因此答题时应该以所学理论知识为主,适当加入自我的工作经验;


    (5)在阅读过程中用铅笔标注出题干中所描述项目中出现的问题,因为这些问题往往是后面所提问题的答案的源泉;


    (6)一般应采用逐条叙述的形式作答;


    (7)答题时注意逻辑归纳,形成清晰的逻辑线索。不要想到哪里写到哪里,这样会给阅卷老师“东一榔头、西一棒子”的感觉,从而影响得分;


    (8)每个条目的描述不宜过长,一般以20~30字为宜。过于简单,容易遗漏一些关键信息,语句过长则不利于阅卷老师判断逻辑结构;


    (9)书写工整,尽可能不在卷面上出现连笔、涂改、插入补充信息等现象;


    (10)在时间允许的情况下,尽量多写点内容,因为“多答和错答”不扣分,但如果符合“题意”,则可能加分。

作者:xiaoxiangtuo 发表于2013-4-4 10:28:45 原文链接
阅读:21 评论:0 查看评论

    
最新技术文章:
▪主-主数据库系统架构    ▪java.lang.UnsupportedClassVersionError: Bad version number i...    ▪eclipse项目出现红色叉叉解决方案
▪Play!framework 项目部署到Tomcat    ▪dedecms如何做中英文网站?    ▪Spring Batch Framework– introduction chapter(上)
▪第三章 AOP 基于@AspectJ的AOP    ▪基于插件的服务集成方式    ▪Online Coding开发模式 (通过在线配置实现一个表...
▪观察者模式(Observer)    ▪工厂模式 - 程序实现(java)    ▪几种web并行化编程实现
▪机器学习理论与实战(二)决策树    ▪Hibernate(四)——全面解析一对多关联映射    ▪我所理解的设计模式(C++实现)——解释器模...
▪利用规则引擎打造轻量级的面向服务编程模式...    ▪google blink的设计计划: Out-of-Progress iframes    ▪FS SIP呼叫的消息线程和状态机线程
▪XML FREESWITCH APPLICATION 实现    ▪Drupal 实战    ▪Blink: Chromium的新渲染引擎
▪(十四)桥接模式详解(都市异能版)    ▪你不知道的Eclipse用法:使用Allocation tracker跟...    ▪Linux内核-进程
▪你不知道的Eclipse用法:使用Metrics 测量复杂度    ▪IT行业为什么没有进度    ▪Exchange Server 2010/2013三种不同的故障转移
▪第二章 IoC Spring自动扫描和管理Bean    ▪CMMI简介    ▪目标检测(Object Detection)原理与实现(六)
▪值班总结(1)——探讨sql语句的执行机制    ▪第二章 IoC Annotation注入    ▪CentOS 6.4下安装Vagrant
▪Java NIO框架Netty1简单发送接受    ▪漫画研发之八:会吃的孩子有奶吃    ▪比较ASP和ASP.NET
▪SPRING中的CONTEXTLOADERLISTENER    ▪在Nginx下对网站进行密码保护    ▪Hibernate从入门到精通(五)一对一单向关联映...
▪.NET领域驱动设计—初尝(三:穿过迷雾走向光...    ▪linux下的块设备驱动(一)    ▪Modem项目工作总结
▪工作流--JBPM简介及开发环境搭建    ▪工作流--JBPM核心服务及表结构    ▪Eclipse:使用JDepend 进行依赖项检查
▪windows下用putty上传文件到远程Linux方法    ▪iBatis和Hibernate的5点区别    ▪基于学习的Indexing算法
▪设计模式11---设计模式之中介者模式(Mediator...    ▪带你走进EJB--JMS编程模型    ▪从抽象谈起(二):观察者模式与回调
▪设计模式09---设计模式之生成器模式(Builder)也...    ▪svn_resin_持续优化中    ▪Bitmap recycle方法与制作Bitmap的内存缓存
▪Hibernate从入门到精通(四)基本映射    ▪设计模式10---设计模式之原型模式(Prototype)    ▪Dreamer 3.0 支持json、xml、文件上传
▪Eclipse:使用PMD预先检测错误    ▪Jspx.net Framework 5.1 发布    ▪从抽象谈起(一):工厂模式与策略模式
▪Eclipse:使用CheckStyle实施编码标准    ▪【论文阅读】《Chain Replication for Supporting High T...    ▪Struts2 Path_路径问题
▪spring 配置文件详解    ▪Struts2第一个工程helloStruts极其基本配置    ▪Python学习入门基础教程(learning Python)--2 Python简...
▪maven springmvc环境配置    ▪基于SCRUM的金融软件开发项目    ▪software quality assurance 常见问题收录
▪Redis集群明细文档    ▪Dreamer 框架 比Struts2 更加灵活    ▪Maven POM入门
▪git 分支篇-----不断更新中    ▪Oracle非主键自增长    ▪php设计模式——UML类图
▪Matlab,Visio等生成的图片的字体嵌入问题解决...    ▪用Darwin和live555实现的直播框架    ▪学习ORM框架—hibernate(二):由hibernate接口谈...
▪(十)装饰器模式详解(与IO不解的情缘)    ▪无锁编程:最简单例子    ▪【虚拟化实战】网络设计之四Teaming
▪OSGi:生命周期层    ▪Javascript/Jquery——简单定时器    ▪java代码 发送GET、POST请求
▪Entity Framework底层操作封装(3)    ▪HttpClient 发送GET、POST请求    ▪使用spring框架,应用启动时,加载数据
▪Linux下Apache网站目录读写权限的设置    ▪单键模式的C++描述    ▪学习ORM框架—hibernate(一):初识hibernate
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3