URL: https://www.overclockers.at/coding-stuff/was_kommt_nach_oop_aop_129887/page_1 - zur Vollversion wechseln!
Weil in einem anderen Thread die Frage "Was kommt nach OOP (Objektorientierter Programmierung)?" aufgetreten ist, möchte ich hier mal eine mögliche Antwort zur Diskussion stellen:
AOP (Aspect Oriented Programming)
Sinn von OOP ist es, codingaufwand zu reduzieren - durch erhöhung der wiederverwendbarkeit von code. eine klasse implementiert eine funktion und alle anderen klassen greifen darauf zu. ziel: ich schreibe die funktion ein einziges mal, muss bei änderungen nur eine funktion ausbessern.
AOP verfolgt den ansatz, use-case driven zu coden. dabei wird für jeden handlungsablauf der software neuer code erstellt - obs eine gewisse funktionalität schon gibt oder nicht, ist dabei zweitrangig. vorteil: vor allem beim testen der software und bei änderunge muss ich nicht aufpassen, welche anderen bereiche der software von diesem fehler/von dieser änderung beeinträchtigt werden. die zahl der zu fahrenden tests nach einer änderung reduziert sich drastisch.
nachteil: ich brauch ein richtig gutes system, um den code konsistent zu halten (wie bei jeder redundanz) - wenn ich in einem ablauf code ändere, muss ich den dann an anderer stelle auch ändern? usw
ist das jetzt was neues? nein. die anfänge von AOP gehen über 10 jahre zurück. (damals hieß es noch agent oriented programming)
ist das jetzt was gutes? gute frage. immer mehr "visionäre" tendieren zu AOP - ein ausgereiftes modell gibts aber AFAIK (noch) nicht.
weiterlesen?
http://en.wikipedia.org/wiki/Aspect...ted_programming
http://aosd.net/
von AOP hab ich schon mal gehört.. is aber schon 1-2 jahre her, seitdem nichts mehr
allgemein denke ich dass die zukunft eher in richtung visualized coding geht. keine 3kg source code pro file, sondern objects die man visuell aus dem workflow herausnimmt bzw. hinzufügt. ebenfalls wird sich immer weiter eine gewisse standardstruktur für jegliche art von programmen entwickeln (ist für AOP auch nötig), auf deren basis gearbeitet wird. klarerweise ist das alles nix neues und gibts schon teilweise (Access, COM Schnittstelle usw.)
Zitat von rettichWeil in einem anderen Thread die Frage "Was kommt nach OOP (Objektorientierter Programmierung)?" aufgetreten ist, möchte ich hier mal eine mögliche Antwort zur Diskussion stellen:
AOP (Aspect Oriented Programming)
Sinn von OOP ist es, codingaufwand zu reduzieren - durch erhöhung der wiederverwendbarkeit von code. eine klasse implementiert eine funktion und alle anderen klassen greifen darauf zu. ziel: ich schreibe die funktion ein einziges mal, muss bei änderungen nur eine funktion ausbessern.
AOP verfolgt den ansatz, use-case driven zu coden. dabei wird für jeden handlungsablauf der software neuer code erstellt - obs eine gewisse funktionalität schon gibt oder nicht, ist dabei zweitrangig. vorteil: vor allem beim testen der software und bei änderunge muss ich nicht aufpassen, welche anderen bereiche der software von diesem fehler/von dieser änderung beeinträchtigt werden. die zahl der zu fahrenden tests nach einer änderung reduziert sich drastisch.
nachteil: ich brauch ein richtig gutes system, um den code konsistent zu halten (wie bei jeder redundanz) - wenn ich in einem ablauf code ändere, muss ich den dann an anderer stelle auch ändern? usw
ist das jetzt was neues? nein. die anfänge von AOP gehen über 10 jahre zurück. (damals hieß es noch agent oriented programming)
ist das jetzt was gutes? gute frage. immer mehr "visionäre" tendieren zu AOP - ein ausgereiftes modell gibts aber AFAIK (noch) nicht.
weiterlesen?
http://en.wikipedia.org/wiki/Aspect...ted_programming
http://aosd.net/
Was nach OOP kommt? Sicher nicht AOP!
Erstens ist bei nativen Sprachen schwer (um nicht zu sagen unmöglich) zu implementieren.
Zweitens ist es nur für speziellen Funktionen brauchbar z.b: Logging und Fehlerbehandlung
Oder kann irgendwer auf eine Application verweissen die extremen gebrauch von AOP macht??
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025