`
partech
  • 浏览: 31625 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

EssUP中的Aspect-Oriented/SOC

阅读更多
又看了一遍Ivar的演讲,感觉思路满新颖,下面是EssUP的基本原理Aspect-Oriented/Separation Of Concerns。编程中的Aspect和过程的Aspect的对比。


Aspect相互相对独立,可以叠加组合。
实践相互相对独立,可以叠加组合。

Aspect横切业务过程
实践跨越(横切)软件开发的整个生命周期

Aspect需要识别,方面可以组合
八大实践,就是八大方面

作为扩展的Aspect,不是必须
不需要所有的实践

Test is every Where,是一个方面的方面?

可以通过一个Aspect来扩展另外一个Aspect
其它实践来扩展核心实践框架

软件构架
过程构架
分享到:
评论
6 楼 partech 2006-09-27  
buaawhl 写道

我知道一些AOP。但只限于Java的Code Generated AOP。我要跳出来。给Partech老大捧场。

能不能举一些例子之类的?
另外,这个EssUP Aspect和Feature Driven有没有什么联系?



各种不同的实践可以看作不同的方面,大多彼此独立,比如TDD,结对编程,重构,软件构架,团队建设,迭代等等,实践横切开发过程的整个生命周期(可以把它理解为一个程序里的过程对象)。也就是说开发过程的每个阶段都有可能会涉及到相同的实践。

对于扩展类型的Aspect,相同作用的Aspect可以相互替换,在包含插件的开发过程当中,实践也可以替换,比如:UseCase同UserStory。

可以写新的Aspect,可以开发新的实践,来扩展开发过程或者扩展某个实践。比如对于一个500人的开发队伍,Team的实践必须扩展。

分离这些实践,是为了更好的组织这些实践,这同分离Aspect的目的完全相同。

程序中使用Aspect,可以看作是很多切片不断叠加的效果,过程中使用实践,也可以看作是很多实践的叠加效果。


EssUP中的Aspect和Feature Driven,针对的主体不同,前者针对开发过程,后者针对业务领域。
5 楼 partech 2006-09-27  
tuti 写道
Ivar提出一个理解现实的新理论,
可以用以解释很多现实现象,
但对改变现实却作用甚少.

过程不再是“一锅汤”,而是呈现分离关注点的结构模式,很犀利的视角。

要解决问题,首先要认识问题,我隐约感觉EssUP可以做到这点。
4 楼 buaawhl 2006-09-27  

我知道一些AOP。但只限于Java的Code Generated AOP。我要跳出来。给Partech老大捧场。

能不能举一些例子之类的?
另外,这个EssUP Aspect和Feature Driven有没有什么联系?

3 楼 tuti 2006-09-27  
Ivar提出一个理解现实的新理论,
可以用以解释很多现实现象,
但对改变现实却作用甚少.
2 楼 partech 2006-09-27  
我不这样看,这里面确实有料啊,熟悉AOP的同学会有同感吧?跳出来啊。。。。
1 楼 庄表伟 2006-09-27  
灌一小瓢水:
觉得Ivar就是善于搞这种形式上很漂亮的理论花架子。

相关推荐

    Aspect-Oriented Programming 面向方面编程

    Aspect-Oriented Programming 面向方面编程 简称AOP AOP所要做的事情就是从系统中分离出方面,然后集中实现,从面可以独立编写业务逻辑代码,在系统运行的时候,再将方面代码“织入”到系统中

    Aspect-Oriented Programming with AspectJ

    【Aspect-Oriented Programming with AspectJ】是一种编程范式,旨在解决传统面向对象编程中模块化问题,特别是在处理横切关注点(如日志、事务管理、安全性等)时的代码分散和重复。AspectJ是Java平台上的一个开源...

    Eclipse AspectJ: Aspect-Oriented Programming

    Aspect-oriented software design (ASOD), which follows the Java philosophy of "write once, run anywhere", is a new way of thinking about program construction. It is a rapidly growing and evolving ...

    Aspect-Oriented Programming

    面向切面编程(Aspect-Oriented Programming, AOP)是一种编程范式,旨在提高程序模块化程度,通过分离关注点(Separation of Concerns, SoC)的方式解决传统面向对象编程(Object-Oriented Programming, OOP)中的...

    Spring 2.5 Aspect-Oriented Programming source code

    Spring 2.5 是 Spring 框架的一个重要版本,它在面向切面编程(Aspect-Oriented Programming,AOP)方面提供了强大的支持。面向切面编程是一种编程范式,旨在将关注点分离,使代码更加模块化,尤其是处理那些跨越多...

    Aspect-Oriented Analysis and Design The Theme Approach.chm

    Aspect-Oriented Analysis and Design The Theme Approach.chm

    Aspect.Oriented.Software.Development part 2 of 2 [CHM]

    Aspect-Oriented Software Developement Coverage includes Using AOSD to streamline complex systems development without sacrificing flexibility or scalability How AOSD builds on the object-oriented ...

    Aspect.Oriented.Software.Development part 1 of 2 [CHM]

    Aspect-Oriented Software Developement Coverage includes Using AOSD to streamline complex systems development without sacrificing flexibility or scalability How AOSD builds on the object-oriented ...

    Spring 2.5 Aspect-Oriented Programming

    ### Spring 2.5 Aspect-Oriented Programming #### 背景与概念 在软件工程领域,最初多年间人们主要依赖于低级语言进行编程,这类语言与机器代码较为接近而离自然语言较远。然而到了20世纪70年代,Brian Kernighan...

    aspect.js-JavaScript library for aspect-oriented programming usi

    在JavaScript开发中,面向切面编程(Aspect-Oriented Programming,AOP)是一种将关注点分离的技术,它允许开发者将横切关注点(如日志、事务管理、性能监控等)从核心业务逻辑中解耦出来。aspect.js是一个...

    自定义元素宽高比例(aspect-ratio)与@supports兼容支持和图片裁剪(object-fit)的用法

    在CSS3中,开发者可以利用新的特性来更精细地控制元素的布局和视觉表现,其中“自定义元素宽高比例(aspect-ratio)”和“图片裁剪(object-fit)”是两个重要的概念。这两个特性提供了更为灵活的网页设计方法,使得...

    Aspect-Oriented Programming in JAVA

    面向切面编程(Aspect-Oriented Programming,简称AOP)是一种在Java等编程语言中用于解决横切关注点(cross-cutting concerns)的编程范式。传统的面向对象编程(Object-Oriented Programming,OOP)虽然强大且广泛...

    AOP - Mastering AspectJ Aspect-Oriented Programming in Java(John Wiley and Sons).pdf

    ### AOP - Mastering AspectJ Aspect-Oriented Programming in Java #### 核心知识点解析 **一、面向切面编程(Aspect-Oriented Programming, AOP)简介** 面向切面编程是一种编程范式,旨在提高模块化程度,通过...

    Aspect-Oriented Java Development

    面向方面的编程(Aspect-Oriented Programming, AOP)是一种编程范式,它旨在提高模块化程度,通过将横切关注点(cross-cutting concerns)从业务逻辑中分离出来,使得代码更加清晰、易于维护。在本篇文档中,我们将...

    Aspect-Oriented Programming with C# and .NET

    ### 面向方面的编程(Aspect-Oriented Programming, AOP)在C#与.NET中的应用 #### 概述 面向方面的编程(AOP)是一种编程范式,它旨在提高程序模块化,通过将横切关注点(cross-cutting concerns)从业务逻辑中...

    Aspect-Oriented Formal Specification for Real-Time

    《面向切面的正式规范在实时系统中的应用》一文探讨了如何利用面向切面的正式规范技术来解决实时系统开发中的复杂性与可靠性问题。文章由张立晨撰写,发表于《计算机科学与技术学院》期刊,属于广东工业大学,广州...

    Aspect.Oriented.Software.Development.with.Use.Cases [chm]

    In this highly anticipated new book, Ivar Jacobson and Pan-Wei Ng demonstrate how to apply use casesa mature and systematic approach to focusing on stakeholder concernsand aspect-orientation in ...

    aspect-swing-worker-1.1.jar.zip

    "Aspect"通常指的是Aspect-Oriented Programming(面向切面编程),这是一种编程范式,旨在将关注点分离,提高代码的可维护性和模块化。"Swing"则是Java的一个图形用户界面(GUI)工具包,用于构建桌面应用程序。...

Global site tag (gtag.js) - Google Analytics