25:
127:
394:
267:
them together (a process also called composition), one finally produces a whole out of the separate aspects. This approach is known as pure aspect programming, but hybrid approaches are more common. It is possible for functional concerns to crosscut non-functional or functional concerns (e.g., the
259:
Aspect-orientation is not limited to programming since it is useful to identify, analyse, trace and modularise concerns through requirements elicitation, specification, and design. Aspects can be multi-dimensional by allowing both functional and non-functional behaviour to crosscut any other
330:
263:
One view of aspect-oriented software development is that every major feature of the program, core concern (business logic), or cross-cutting concern (additional features), is an aspect, and by
268:
need for more features harms mobility). A uniform approach to representation and composition, similar to the pure approach in AOP, is termed multidimensional representation.
240:
code can crosscut many modules, yet the aspect of logging should be separate from the functional concerns of the module it cross-cuts. Isolating such aspects as logging and
323:
42:
439:
316:
137:
444:
195:
89:
167:
61:
296:
108:
174:
68:
241:
181:
152:
75:
46:
163:
57:
363:
339:
249:
35:
228:
linked to many other parts of the program, but is not related to the program's primary function. An aspect
233:
188:
82:
373:
229:
353:
253:
217:
144:
286:
292:
225:
245:
260:
concerns, instead of just mapping non-functional concerns to functional requirements.
433:
368:
264:
237:
16:
Feature linked to many parts of a program, unrelated to program's primary function
408:
126:
24:
378:
308:
393:
383:
418:
413:
312:
120:
18:
236:
that tries to encapsulate unrelated functions. For example,
148:
232:
the program's core concerns, therefore violating its
401:
346:
49:. Unsourced material may be challenged and removed.
324:
8:
153:introducing citations to additional sources
331:
317:
309:
109:Learn how and when to remove this message
143:Relevant discussion may be found on the
277:
7:
440:Aspect-oriented software development
47:adding citations to reliable sources
164:"Aspect" computer programming
58:"Aspect" computer programming
14:
392:
288:Aspect-Oriented Database Systems
136:relies largely or entirely on a
125:
23:
34:needs additional citations for
1:
445:Aspect-oriented programming
364:Aspect-oriented programming
340:Aspect-oriented programming
250:aspect-oriented programming
461:
390:
374:Cross-cutting concerns
248:is at the core of the
234:separation of concerns
285:Awais Rashid (2004).
218:computer programming
149:improve this article
43:improve this article
224:of a program is a
427:
426:
214:
213:
199:
119:
118:
111:
93:
452:
396:
333:
326:
319:
310:
303:
302:
282:
209:
206:
200:
198:
157:
129:
121:
114:
107:
103:
100:
94:
92:
51:
27:
19:
460:
459:
455:
454:
453:
451:
450:
449:
430:
429:
428:
423:
397:
388:
342:
337:
307:
306:
299:
284:
283:
279:
274:
210:
204:
201:
158:
156:
142:
130:
115:
104:
98:
95:
52:
50:
40:
28:
17:
12:
11:
5:
458:
456:
448:
447:
442:
432:
431:
425:
424:
422:
421:
416:
411:
405:
403:
399:
398:
391:
389:
387:
386:
381:
376:
371:
366:
361:
356:
350:
348:
344:
343:
338:
336:
335:
328:
321:
313:
305:
304:
297:
276:
275:
273:
270:
246:business logic
212:
211:
147:. Please help
133:
131:
124:
117:
116:
31:
29:
22:
15:
13:
10:
9:
6:
4:
3:
2:
457:
446:
443:
441:
438:
437:
435:
420:
417:
415:
412:
410:
407:
406:
404:
400:
395:
385:
382:
380:
377:
375:
372:
370:
369:Aspect weaver
367:
365:
362:
360:
357:
355:
352:
351:
349:
345:
341:
334:
329:
327:
322:
320:
315:
314:
311:
300:
298:3-540-00948-5
294:
290:
289:
281:
278:
271:
269:
266:
261:
257:
255:
251:
247:
243:
239:
235:
231:
227:
223:
219:
208:
197:
194:
190:
187:
183:
180:
176:
173:
169:
166: –
165:
161:
160:Find sources:
154:
150:
146:
140:
139:
138:single source
134:This article
132:
128:
123:
122:
113:
110:
102:
91:
88:
84:
81:
77:
74:
70:
67:
63:
60: –
59:
55:
54:Find sources:
48:
44:
38:
37:
32:This article
30:
26:
21:
20:
358:
291:. Springer.
287:
280:
262:
258:
221:
215:
202:
192:
185:
178:
171:
159:
135:
105:
96:
86:
79:
72:
65:
53:
41:Please help
36:verification
33:
419:AspectWerkz
242:persistence
434:Categories
379:Join point
272:References
175:newspapers
69:newspapers
409:AspectC++
402:Languages
230:crosscuts
205:June 2008
145:talk page
99:June 2008
384:Pointcut
347:Concepts
254:paradigm
414:AspectJ
265:weaving
238:logging
226:feature
189:scholar
83:scholar
359:Aspect
354:Advice
295:
252:(AOP)
222:aspect
191:
184:
177:
170:
162:
85:
78:
71:
64:
56:
244:from
220:, an
196:JSTOR
182:books
90:JSTOR
76:books
293:ISBN
168:news
62:news
216:In
151:by
45:by
436::
256:.
332:e
325:t
318:v
301:.
207:)
203:(
193:·
186:·
179:·
172:·
155:.
141:.
112:)
106:(
101:)
97:(
87:·
80:·
73:·
66:·
39:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.