软件架构模式 缺少规范架构的程序通常会变得紧耦合.脆弱.难以更改,缺少清晰的发展方向和愿景.这本小书用50多页介绍了常用的5种常见架构模式,相信不管是大牛还是萌新都会有所收获,特别是对我这种偏爱系统设计.架构.模式的人.当然,此书也只是高层的讨论,能够起到归纳总结.理顺思路的作用.如果想实际应用,还是需要从代码入手,站在架构模式的角度分析优秀的项目源码. 分层架构(Layered/N-tier Architecture) 分层架构的组件按垂直模式组织成多层,每一层表现为程序的一种角色.分层架构大…
http://www.infoq.com/articles/agile-software-architecture-sketches-NoUML If you're working in an agile software development team at the moment, take a look around at your environment. Whether it's physical or virtual, there's likely to be a story wal…
[Architecture Pattern] Factory Builder 目的 同时提供延迟注入对象.挂载注入项目这两个功能 情景 在开发系统时,如果需要在运行时间才生成并注入对象,可以套用Factory模式来提供延迟注入对象功能.例如:一个监控系统在火警发生时,建立功能对象来启动相关设备(洒水设备.警报设备.警消通报). 物件图 但在实作过程中,延迟注入对象这个功能,常常需要伴随挂载注入项目功能,用以增加系统的延展性,这时可以接着套用Builder模式,来提供挂载注入项目功能.例如:一个监…
[Architecture Pattern] Singleton Locator 目的 组件自己提供Service Locator模式,用来降低组件的耦合度. 情景 在开发系统时,底层的Infrastructure Context.或是核心的Domain Context这些共享对象生成之后,会在系统的许多地方被使用.为了减少共享对象初始生成.参考传递所造成的困扰,可以在系统内套用Service Locator模式,提供统一的静态参考点来生成.存取这些共享对象. Service Locator参考…
[Architecture Pattern] Repository实作查询功能 范例下载 范例程序代码:点此下载 问题情景 在系统的BLL与DAL之间,加入Repository Pattern的设计,能够切割BLL与DAL之间的相依性,并且提供系统抽换DAL的能力.但在软件开发的过程中,套用Repository Pattern最容易遇到的问题就是,如何在Repository中实作「查询」这个功能.像是在下列这个查询订单的页面,系统必须要依照用户输入的查询条件,来从DAL中查询出所有符合条件内容的…
Architecture pattern: context + problem -> solution Architecture style: solution part of architecture pattern So architecture style is analogous to the solution part of the architecture pattern. It's often used in books dealing with architecture docu…
Software Architecture Architecture serves as a blueprint for a system. It provides an abstraction to manage the system complexity and establish a communication and coordination mechanism among components. It defines a structured solution to meet all…
Software Architecture软件架构是啥 随着软件行业的发展,软件的规模越来越大,"Software Architecture软件架构"这个名词开始频繁出现."软件架构"究竟指的是什么? 广义的"软件架构"针对整个软件系统,当然包括"软件系统"的全部内容,同时包括网络.计算机,外部设备等物理节点,以及开发者,维护者和客户等人员. 狭义的"软件架构"指的是软件开发过程中,软件顶层架构的设计. 本…
1. Brief 一直对Observer Pattern和Pub/Sub Pattern有所混淆,下面打算通过这两篇Blog来梳理这两种模式.若有纰漏请大家指正. 2. Role Publisher:消息发布者,组装原始消息实体并触发消息传递的主体. Subscriber:消息订阅者,接收消息实体并作出响应的主体. Message Broker or Event Bus:消息发布者 与 消息订阅者 间的媒介,内含消息过滤和消息路由的功能,并可通过内置的消息队列(message queue)现实优…
设计模式的由来: 20 世纪 90 年代初,一些聪明的开发者偶然接触到 Alexander(Christopher Alexander 的建筑师) 有关模式的工作.他们非常想知道,在建筑学成立的理论,是否在软件设计中也适用. ● 软件中是否存在不断反复出现.能够以某种同样方式解决的问题? ● 是否可能用模式方法来设计软件,即先找出模式,然后依据这些模式 创建特定的解决方式? GoF 自己并没有创造书中的模式,认识到这一点非常重要. 相反.他们仅仅是 将软件界已经存在的.反映了(针对各种详细问题的…