Citat:
Ursprungligen postat av Kimppa
Väldigt intressanta diskussioner!
Jag kodar i mestadels PHP.
Tycker ConnyWesth tänker ganska precis som jag tänker och var ungefär vad jag menade med denna tråd.
Jag har inte menat at skriva "superavancerade" ramverk utan enklare ramverk för att skriva ut början av t.ex. HTML-dokument (då jag inte applikationsutvecklar) och även slutet för HTML dokumentet.
För tillfället så använder jag mig av två PHP-funktioner för de flesta av mina projekt (enklare projekt) och de är:
1. Skriver ut allt från DOCTYPE till början på BODY.
(Brukar göra någon custom header som jag kan använda mig av i första fuktionen, oftast väldigt olikt designade)
2. Avslutar andra funktionen med </BODY> och eventuell "close" av databas.
Jag har länge tänkt på detta med klasser och PHP men aldrig riktigt förstått mig på det.
Om jag fårstår dig rätt Conny:
- Skulle det vara möjligt att skapa en klass som skapar html_start->html-end, för att sedan i PHP-dokumentet (med själva webbplatsstrukturen) kunna klistra in metoder/objekt/funktioner från denna klass?
Eller är de bättre att strukturera upp det som jag gjort tidigare?
EDIT: Jag använder mig av "ramverk" ungefär på samma sätt som templates/mallar i Word, när jag kodar CSS med speciella margins för headers, text, etc. (som går att återanvändas i olika projekt för bra artiklar etc.)
|
Om du tänker verksamhetsspecifikt (domain-driven-development, DDD) så kan man bygga en uppsättning klasser som följer strukturen på "verksamheten" eller "domänen". Helt utan koppling till HTML över huvud taget.
Sen kopplar man ihop det hela med "tekniska" klasser som lägger på HTML-taggar där det behövs.
Man kan givetvis koppla ihop detta med en rad andra externa ramverk efter tycke och smak.
Det finns dessutom olika skiktningsmodeller:
MVC - Model-View-Controller (Gammal modell som använts i mer än 20 år)
eller
MVVM Model-View-ViewModel (Modernare variant som anpassats till många olika GUI-device). Se
http://en.wikipedia.org/wiki/Model_View_ViewModel för mer info.
Det finns en annan paradigm som kallas test-driven-utveckling (TDD) men den har ett grundläggande tankefel, det går nämligen aldrig att "testa" fram bra kvalitet i en applikation. Kvaliteten måste man designa in från början genom att ha järnkoll på arkitekturen och verksamhetens krav, det är inte testerna som är kraven som många TDD förespråkare hävdar.
Jag är som sagt mer anhängare av DDD-paradigmen med arkitekturell design.
Givetvis ska man testa koden utförligt, men det är inte alltid möjligt att testa allt man behöver testa genom automatiska tester, det skulle kosta för mycket att bygga såna automatiska tester, så projektet skulle bli olönsamt. Man behöver en kombination av automatiska testrutiner och manuella för att optimera ekonomin i projekten.