0%

UML类图符号各种关系说明以及举例[转]

包图及其关系图
组件及其关系图
用例图中的关系

通常我们选择UML来表现各种视图,以下列出了UML和各视图的对应关系
4+1视图           UML
场景视图           use case
逻辑视图           类图
开发视图           类图,组件图
进程视图           无完全对应
部署视图           部署图
对于逻辑视图和开发视图所应包含的内容常常会觉得很难区分两者间的明显界限。逻辑视图包含更多的分析模型与实现技术本身相关性应该较少,如业务对象模型及其扩展。而开发视图则会与实现技术紧密相关。

一.九种图

UML中的图不止九种,甚至相同的图会有不同名称,这里的九种图是被普遍认可的基础图。
UML的九种图分别为:用例图、类图、对象图、状态图、构件图、部署图、协作图、交互序列图、活动图。

阅读全文 »

1、多态的定义

所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。

阅读全文 »

1、时序图

时序图用于描述对象之间的传递消息的时间顺序, 即用例中的行为顺序
当执行一个用例时, 时序图中的每条消息对应了一个类操作或者引起转换的触发事件.
在 UML 中, 时序图表示为一个二维的关系图, 其中, 纵轴是时间轴, 时间延竖线向下延伸. 横轴代表在协作中各个独立的对象. 当对象存在时, 生命线用一条虚线表示, 消息用从一个对象的生命线到另一个对象的生命线的箭头表示. 箭头以时间的顺序在图中上下排列.

阅读全文 »

UML类图符号各种关系说明以及举例[转]

包图及其关系图
组件及其关系图

一、用例图概述

用例图,是一种客户与开发者之间可以沟通、理解的表现形式。可以认为用例图是开发者与客户之间的可视化契约。我认为最主要的一点就是,在这个用例模型中,一直是以用户的角度为主的,做为开发人员也要时刻站在用户的角度来看待整个系统。
从原则上来讲,用例之间都是独立、并列的,它们之间并不存在着包含从属关系。但是为了体现一些用例之间的业务关系,提高可维护性和一致性,用例之间可以抽象出包含(include)、扩展(extend)和泛(generalization)几种关系。共性:都是从现有的用例中抽取出公共的那部分信息,作为一个单独的用例,然后通后过不同的方法来重用这个公共的用例,以减少模型维护的工作量。

阅读全文 »

框架的两个作用(例如Spring框架):

  1. 提高程序的可读性和维护性
    框架的核心思想是按照关注点分离,按照MVC的框架进行分离。
  2. 实现了很多公共的组件
    很多以前需要我们开发的琐碎的,负责的功能,例如日志等功能,框架已经放在jar包中了。

SSH框架一般指的是Struts、Spring、Hibernate,后来Struts2代替了Struts。最近5年,Struts2已经被Spring MVC代替,而Hibernate基本也被iBatis/MyBatis代替。

所以你真正需要了解的是Spring,Spring你需要了解两个概念AOP和IOC,更进一步就是Spring的核心技术“动态代理”。

持久层框架看看Hibernate/iBatis/MyBatis,研究一下Spring的数据库事务管理,各个持久层框架式如何实现ORM的,了解至少一种缓存框架,知道什么是数据库连接池。和数据库的交互最核心的不是ORM,而是掌握和数据库相关的能力,比如数据库编程、SQL优化、对范式的理解。

MVC框架Struts2和Spring MVC,你需要知道他们在web.xml文件里配置了一些什么,Struts2/Spring MVC接到前台请求之后经过哪些步骤之后转到Action/Controller,return之后Struts2/Spring MVC又作了些什么。还有就是Filter、Listener和Struts2/Spring MVC的拦截器各有什么特点,适合处理什么样的问题。

注:Spring是IOC和AOP的容器框架,SpringMVC是基于Spring功能之上添加的Web框架,想用SpringMVC必须先依赖Spring;简单的说:spring framework中的Web部分叫 spring mvc

注:我觉得现在框架就spring,其他都是工具!

Struts只是一个MVC框架(Framework),用于快速开发Java Web应用。Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一系列定制标签(Custom Tag)。但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式的商业逻辑。
Spring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Oriented Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE的应用;DAO/ORM的实现方便我们进行数据库的开发;Web MVC和Spring Web提供了Java Web应用的框架或与其他流行的Web框架进行集成。
就是说可将两者一起使用,达到将两者自身的特点进行互补。

转自:https://www.zhihu.com/question/30525693/answer/119873899
现在许许多多的初学者和程序员,都在趋之若鹜地学习Web开发的宝典级框架:Struts2,Spring,Hibernate。似乎这些框架成为了一个人是否精通Java,是否会写J2EE程序的唯一事实标准和找工作的必备基础。
然而,如果在面试的时候问这些程序员,你们为什么要学习这些框架?这些框架的本质到底是什么?似乎很少很少有人能够给我非常满意的答复。因为他们都在为了学习而学习,为了工作而学习,而不是在真正去深入了解一个框架。其实所有的人都应该思考这样的问题:为什么要学习框架?框架到底给我带来了什么?接下来,我们以登录作为一个最简单的例子,来看看不同的年代,我们是怎么写Web程序的。

阅读全文 »

这本书在购书中心买的,在众多版本中,因为这本的纸质特别好,并且其中的插图很不错,所以下手了;-)
《君主论》就像是意大利版的厚黑学,作者的主要目的是把本书作为君主镜鉴(类似中国古代的《资治通鉴》),探究君主如果统治和维持自己的国家。
“君主必须武装起来,因为有武装的人服从没有武装的人是非常不合理的。”简单的一句话,颠覆了古典政治学中智者统治这一根本原则。这句话,和毛主席说的,枪杆子里出政权是一个道理,侧面说明了军队,或者说实力是一个君主的基础,而仁政并不是,就像三国最终获胜的是魏国而不是蜀国一样。
在历史上,总是宣扬德政的君主,但是,作者指出“作为君主,关于道德的确切地位是一个沉重的话题”,俗话说(增广贤文):慈不掌兵,义不行贾。所以,对于君主来说,为了维持自己的国家,道德往往居于次要的地位。政治是险恶的,所以一个“想要在一切事情上都发誓许愿以良善自持”的人,终将在恶人环伺中走向灭亡。君主必须学会能够为恶,并依据必然性使用或者不使用这种能力。只要达到目标,总的来说成功者是不应该受责难的。就像作者说的“必须理解:一位君主,尤其是一位新君主,不可能遵守所有那些被认为是良善之人应该拥有的品性;因为为了维持他的国家,迫于必然性,他常常不得不背信弃义、毫无仁慈、不讲人道、违反神道。”
关于君主的品性问题,马基雅维利认为,君主最好是既受人爱戴又被人畏惧,但是如果为必然性所迫有所选择的话,还是被畏惧好一些。因为人们是否爱戴君主是自己做主,而他们是否畏惧君主则是君主做主。再说关于人类,一般的可以说:他们是忘恩负义、容易变心的。但是同时,君主还是要避免自己受人憎恨,所以君主必须做到不能剥夺他人的财产,就像作者说的“因为人们忘记父亲之死比忘记遗产的丧失来得还要快”(断人财路如杀人父母),所以,君主能够仅凭不祸害臣民而非给予他们利益便能赢得他们的忠诚。

阅读全文 »

扫罗和以色列人犹大的梭哥迎战非利士人。歌利亚(巨人)连续四十天,每天两次向以色列人讨战,进行一对一的决斗,来决定战役的胜负。扫罗和全体以色列人都极其害怕。年轻的大卫为跟随扫罗出征的三个哥哥送饭,听见歌利亚的骂阵,和扫罗允诺的重金赏赐,无所畏惧,要击败歌利亚。大卫拒绝了扫罗提供的战衣,手中拿杖和甩石的机弦,和从溪中挑选的五块光滑的石子;和歌利亚对阵,歌利亚头戴铜盔,身穿铠甲。“那非利士人就指着自己的神咒诅大卫。” 大卫回答说:“今日耶和华必将你交在我手里;我必杀你,取下你的头。我又要将非利士军兵的尸首给空中的飞鸟、地上的野兽吃。全地就必知道以色列中有神;聚集在这里的众人也必知道耶和华施行拯救,不是用刀用枪,因为争战的胜败于耶和华。祂必将你们交在我们手里。 ”
大卫用机弦将石子击中歌利亚的额,歌利亚就仆倒,面伏于地。大卫将歌利亚的刀从鞘中拔出来,用刀割了他的头,将他杀死。非利士人逃避以色列人的追赶,“直到迦特和以革伦”。大卫将歌利亚的军装放在他自己的帐棚里,却将他的头拿到耶路撒冷。扫罗问元帅押尼珥,是谁的儿子迎战那非利士人。押尼珥领大卫到扫罗面前,扫罗问大卫是谁的儿子,“大卫说,我是你仆人伯利恒人耶西的儿子”。

在中国传统戏剧中,一般把忠臣(好人)扮成红脸,而把奸臣或者坏人扮成白脸。 后来人们就用红脸代表好人,用白脸代表坏人。但是,更多的时候,是表示在做一件事情的时候,有的说好话、有的说坏话,“红脸”、“白脸”一起戏弄或欺骗当事人,这种情况被说成:“有唱红脸的,有唱白脸的”。 来自京剧脸谱,红脸——正直的象征。白脸——奸邪的象征。一个唱红脸一个唱白脸(有的说好话、有的说坏话),就是两人合作,一个做坏人,一个做好人,目的是让做好人的那个得人心,指一个是正面,一个是反面。
红脸:红脸代表好人,说好话,正直的形象。
白脸:白脸代表坏人,说坏话,反面角色,奸邪的形象

斯巴达(希腊语:Σπάρτη),又称拉刻代蒙(古希腊语:Λακεδαίμων, Lakedaímōn)是古代希腊城邦之一,斯巴达城位于中拉哥尼亚平原的南部,埃夫罗塔斯河的西岸。斯巴达城是个战略要冲,三面环山,扼守着塔伊耶托斯山脉,塔伊耶托斯山脉上的隘口是进入拉科尼亚和南部伯罗奔尼撒半岛的必经之路,斯巴达城并不靠海,离她的海港吉雄有27英里的距离。
斯巴达以其名。斯巴达是寡头政治,和当时雅典的民主制度形成鲜明对比。斯巴达规定所有男人必须从军。斯巴达拥有众多国有奴隶,称为黑劳士,因此“斯巴达式”也成为艰苦地进行的代名词。在伯罗奔尼撒战争中,斯巴达及其同盟者战胜雅典军队并霸权整个希腊。但斯巴达在称霸希腊不久后便被新兴的底比斯打败,在北方的马其顿崛起后,斯巴达失去了在希腊的影响力。