- 博客(11)
- 资源 (5)
- 收藏
- 关注
原创 Java中交集、并集、差集的实现
在我们的日常开发的过程中,经常会遇到一些问题需要我们进行一些集合的运算,这里我们对集合中最为常用的交集、并集、差集这几种运算进行了一个简单的总结:交集的实现 public static Set<Object> intersection(Set<Object> s1,Set<Object> s2){ Set<Object> result = new HashSet<Object>(); result.clear(); result.ad
2016-04-30 23:47:13 6449
翻译 软件架构的典型组成部分-安全性
架构应该描述实现设计层面和代码层面的安全性的方法。如果先前尚未建立威胁模型(threat model),那么就应该在架构阶段建立威胁模型。在制定编码规范的时候应该把安全性牢记心中,包括处理缓冲区的方法、处理非受信(untrudted)数据(用户输入的数据、cookies、配置数据(文件)和其他外部接口输入的数据)的规则、加密、错误信息的细致程度、保护内存中的密码数据,以及其他事项。
2016-04-28 21:53:33 1336
翻译 软件架构的典型组成部分-资源管理
架构应该描述一份管理稀缺资源的计划。稀缺资源包括数据库连接、线程、句柄等,在内存受限的应用领域,如驱动程序开发和嵌入式系统中,内存管理是架构应该认真对待的另一个重要领域。架构应该估算在正常情况下和极端情况下的资源使用量。在简单的情况下,估算数据应该说明:预期的实现环境(运行环境)有能力提供所需的资源。在更复杂的情况中,也许会要求应用程序更主动地管理其拥有的资源。如果是这样,那么“资源管理器”应该和系统的其他部分一样进行认真的架构设计。
2016-04-28 21:40:54 505
翻译 软件架构的典型组成部分-用户界面设计
用户界面常常在需求阶段进行详细说明。如果没有,就应该在软件架构中进行详细说明。架构应该详细定义Web页面格式、GUI、命令行接口等的主要因素。精心设计的用户界面架构决定了最终做出来的是“人见人爱的程序”还是 “没人爱用的程序”。
2016-04-25 22:34:42 904
翻译 软件架构的典型组成部分-业务规则
如果架构依赖于特定的业务规则,那么它就应该详细描述这些规则,并描述这些规则对系统设计的影响。例如,假定要求系统遵循这样一条业务规则:客户信息过时的时间不能超过30秒。在此情况下,架构就应该描述这条规则对架构采用的“保持客户信息及时更新且同步”的方法的影响。
2016-04-25 22:24:15 1286
翻译 软件架构的典型组成部分-数据设计
架构应该描述所用到的主要文件和数据表的设计。它应该描述曾经考虑过的其他方案,并说明做出选择的理由。如果应用程序要维护一个客户ID的列表,而架构师决定使用顺序访问的列表来表示ID表,那么文档就应该解释为什么顺序访问的列表比随机访问的列表、堆栈、散列表要好。在架构期间,这些信息让你能够洞察架构师的思想。在维护阶段,这种洞察力是无价之宝。离开它,你就像看一部没有字幕的外语片。数据通常只应该由一个子系统或一个类直接访问:例外的情况是透过访问器类或者访问器子程序-以受控或者抽象的方式来访问数据。数
2016-04-25 00:03:14 715
翻译 软件架构的典型组成部分-主要的类
架构应该详细定义所用的主要类。它应该指出每个主要类的责任,以及该主要类如何与其他类进行交互。它应该包含对类的继承体系、状态转换、对象持久化等的描述。如果系统足够大,它应该描述如何将这些类组织成一个个的子系统。架构应该记述曾经考虑过的其他类设计方案,并给出选用当前的组织结构的理由。架构无须说明系统中的每一个类。瞄准80/20法则:对那些构成系统的80%的行为和20%的类进行详细的说明。
2016-04-24 16:32:32 659
翻译 软件架构的典型组成部分-程序组织
系统架构首先要以概括的形式对有关系统做一个综述。如果没有这种综述,要想将成千的局部图片(或十多个单独的类)拼成一幅完整的图画是相当伤脑筋的。如果系统是小小的只有12块的智力拼图玩具,你那一岁的小孩也能在眨眼的功夫解决它们。不过吧12个子系统拼到一起就要困难一些啦,而且如果你不能将它们拼起来,那么就无法理解你正在开发的这个类对系统有何贡献。
2016-04-24 11:40:46 1534
翻译 架构的典型组成部分
很多组成部分是优秀的系统架构所共有的。如果你自己构建整个系统,那么在架构工作会与更详细的设计工作有重叠的部分。在这种情况下,你至少应该思考架构的每个组成部分。如果你目前从事的系统的架构是别人做的,你应该能够不费力地找到其中重要的组成部分。在这两种情况下,你都需要考虑一下的架构组成部分:
2016-04-17 22:15:24 721
原创 SpringMVC通过@PathVariable注解传递对象
首先注意:SpringMVC中是不可以通过@PathVariable这个注解来传递对象的,原因其实很简单:@PathVariable是用来获得请求url中的动态参数的,所以该注解只能支持将参数放在请求url的GET提交方式,所以不管你如何进行设置,@PathVariable都是无法支持Post请求的。
2016-04-14 10:05:33 14534 1
翻译 软件开发中需求的先决条件
“需求”详细描述软件系统应该做什么,这是达成解决方案的第一步。“需求活动”也称为“需求开发”、“需求分析”、“分析”、“需求定义”、“软件需求”、“规格书”、“功能规格书”等。一:为什么要有正式的需求要求一套明确的需求,这点很重要,理由如下:1、明确的需求有助于确保用户(而不是程序员)驾驭系统的功能。如果需求明确,那么用户就可以自行评审,并进行核准。否则,程序员就常常会在编程期间自行决
2016-04-09 22:19:38 1160
eureka server 与eureka client
2020-04-03
JAVA小程序之信息提示音
2014-04-04
成为一名优秀的架构师的标准是什么
2024-01-09
程序员35岁以后要如何发展才不会有失业的风险
2023-12-27
深圳的Java行业现状如何
2023-12-26
如何成为一名优秀的服务端架构师
2023-12-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人