2008-08-25 6 views
11

Przez ostatnie 10 lat pojawiało się wiele artykułów i artykułów odnoszących się do nowszej pracy Christophera Alexandra "The Nature of Order" i jej zastosowania do oprogramowania.Poza wzorami projektowymi?

Niestety, jedyne dostępne rzeczy, jakie mogę znaleźć, pochodzą od Jamesa Coplien i Richarda Gabriela; nie ma nic poza tym, przynajmniej z moich prób znalezienia takich rzeczy przez google.

Czy ten rodzaj dyskusji dzieje się gdziekolwiek?

MSN


@Georgia

Moje pytanie nie jest o wzorcach projektowych lub językach wzoru; Chodzi o to, aby sprawdzić, czy więcej pracy Christophera Alexandra można zastosować do oprogramowania (co prawdopodobnie może, ponieważ ma jeszcze mniej fizycznych ograniczeń niż architektura i budynek).

Wygląda na to, że wzorce projektowe i języki wzorcowe przyswoiły sobie strukturę wzorców projektowych Aleksandra, ale niewiele z nich uchwyciło istotę. Istota jest czymś, co nie rozwiązuje problemu w konkretnym kontekście.

Trudno wytłumaczyć, nie używając niektórych późniejszych prac Aleksandra jako punktu odniesienia.

Edycja: Nie, odbieram to z powrotem.

Na przykład istnieje projekt architektoniczny, który nazywa się Wnętrza. Wzorzec ten ma kontekst nie tylko zakorzeniony w okolicznościach sytuacji, ale także zakorzeniony w podstawach dotyczących celu budynków: że są to struktury, w których należy żyć i które muszą promować życie w nich. W przypadku wzoru Alcove, kontekst polega na tym, że chcesz mieć obszar, który pozwala wielu osobom przebywać w tym samym obszarze, robiąc różne rzeczy, ponieważ ważne jest, aby członkowie rodziny fizycznie razem, a także byli w stanie robić to samo. rzeczy, które odwracają uwagę innych członków rodziny.

Większość wzorców projektowych oprogramowania opisuje problem w kontekście, ale nie zawierają one głębszej informacji o przyczynie problemu, ani o tym, dlaczego problem jest fundamentalny dla oprogramowania. To sprawia, że ​​bardzo łatwo zastosować wzory projektowe niewłaściwie lub beztrosko, co jest dokładnie odwrotnością zamiaru wzorców projektowych.

MSN

+0

Uważam, że wzorce GRASP stanowiłyby konkretną merytoryczną odpowiedź na zadawane pytanie. https://en.wikipedia.org/wiki/GRASP_%28object-oriented_design%29 – srm

Odpowiedz

1

Twoje pytanie przywodzi na myśl niektóre z uwag zgłoszonych przez Erica Evans w swojej książce "Domain-Driven Design". Podkreśla, że ​​wzorce projektowe w rozwoju oprogramowania często opisywano jako ściśle techniczne rozwiązania problemów technicznych. Czasami jednak istnieje możliwość zastosowania schematu, który nie tylko zapewnia strukturę wdrożenia oprogramowania, ale ma również znaczenie w modelu biznesowym.

Weźmy na przykład pod uwagę wzorzec STRATEGY jako jedynie szczegół wdrożenia, w przeciwieństwie do sytuacji, w której programiści i przedsiębiorcy mają uzasadnione powody, aby mówić o tym, w jaki sposób wybrane i używane są STRATEGIE, tj.gdzie jest częścią UBIQUITOUS LANGUAGE systemu:

Kiedy używamy technicznego wzoru projektu w warstwie domeny, musimy dodać dodatkową motywację, kolejną warstwę znaczeniową. Kiedy STRATEGIA odpowiada faktycznej strategii biznesowej lub polityce, wzorzec staje się czymś więcej niż tylko użyteczną techniką implementacji (choć to też jest cenne, o ile idzie). [Rozdział 12]

Evans argumentuje, że dostosowanie modelu oprogramowania do głębokiego modelu domeny biznesowej jest trudnym celem do osiągnięcia, ale zapewnia ogromną wartość. Jeśli ma rację, być może "głębsze stwierdzenie", które musi mieć wzór projektowania oprogramowania: w jaki sposób wzór pasuje do szerszego kontekstu problemu, poza wąskim zakresem technicznym samego systemu oprogramowania.