软件架构师必须掌握的WEB应用的软件架构技术

        近年来,当人们为WORDPRESS,DISCUZ之类的大型网上应用难以扩展,难以维护而痛苦之时,这才深明软件架构师工作的重要性,以及好的软件架构的重要性。作为软件开发人员,也许你现在还是不架构师。但是,如果是小企业,小团队,你很可能也在起着架构师的作用。或许有一天,你也会走上架构师的位置。所以,了解一些软件架构的技术是相当重要的。看到网上一些博客中有人发文嘲讽架构技术,不够让人感到心痛。言时正传,架构师应当了解哪些技术呢?

        作为一个大型WEB应用,所需要的架构技术,或者说,目前成熟的架构技术有以下这些:

AOP面向切面编程(这是JAVA中的一个述语)

        MVC——模块视图控制器架构。此架构必须是符合IOC 原则的。
        module 模块
        –calss 应当是完全面向对象的。

–eventmapornotation(action),基于事件映射的模块一向是保证代码可读性,可维护性以及可扩展性的基础。

view视图

–componnent-based作为架构师,相对于使用JSP或PHP,你必须懂得如何选用STRUTS或SMARTY模式的VIEW,还是使用基于组件模式的VIEW。但对于.NET,FLEX这一层在编程语言框架中已为你做好了,所以不需要多考虑。

         control  控制器
         要真正做到松耦合。可定制,特别是现在移动互联正在发展的今天,你的网站可能同时支持手机与PC浏览器。因而,快速的UA检测技术是必须要的。

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应用,因为它只有文本日志。
         当然,以上这些只是WEB应用的软件架构技术,架构还与硬件架构,数据库架构,网络架构有关。这些这里就不多讲了。

相关推荐