软件架构师必须掌握的WEB应用的软件架构技术
近年来,当人们为WORDPRESS,DISCUZ之类的大型网上应用难以扩展,难以维护而痛苦之时,这才深明软件架构师工作的重要性,以及好的软件架构的重要性。作为软件开发人员,也许你现在还是不架构师。但是,如果是小企业,小团队,你很可能也在起着架构师的作用。或许有一天,你也会走上架构师的位置。所以,了解一些软件架构的技术是相当重要的。看到网上一些博客中有人发文嘲讽架构技术,不够让人感到心痛。言时正传,架构师应当了解哪些技术呢?
AOP面向切面编程(这是JAVA中的一个述语)
MVC——模块视图控制器架构。此架构必须是符合IOC 原则的。–eventmapornotation(action),基于事件映射的模块一向是保证代码可读性,可维护性以及可扩展性的基础。
view视图
–componnent-based作为架构师,相对于使用JSP或PHP,你必须懂得如何选用STRUTS或SMARTY模式的VIEW,还是使用基于组件模式的VIEW。但对于.NET,FLEX这一层在编程语言框架中已为你做好了,所以不需要多考虑。
control 控制器DMM,DDD领域模型,领域驱动开发模式(DomainDrivenDevelopment)
–Domainmodal,busnessmodal领域模型,是指特定领域的业务逻辑模型。
–specificationmode规则模式,这是最新的技术之一,被称为领域模型中的第8种模型。
ORM对象关系映射。DMM,DDD均不都是直接访问数据库的。很多是建立在ORM之上的。ORM不仅能向您提供清析的软件架构,同时,也为您省去大量编写CRUD的麻烦。
ActiveRecord和TableDataGetway这是由ROR冲击后兴起的新型ORM模式。
DrySql这是产生于RUBY语言的最新ORM技术。
Libraries 类库,应用程序常用的类库,包括database & other。这是一般最普通的开发框架均能提供的核心源码。但是,架构师有能力充分审视这些源码是否满足应用的需要,这一能力是必须的。比如,CodeIgniter的日志类,就不能用于大型WEB应用,因为它只有文本日志。