Före ett tag sedan skrev jag ett inlägg på min blog om "Objects persist in a database". inlägget är på engelska för att nå ut globalt Före er som är intreserad av tanken kring att spara ner objekt i en databas kanske finner mitt inlägg intresant. Ta gärna och läs inlägget, har ni några kommentarer eller tillägg så dela görna med dom toll mig och andra som finner detta ämne intresant. Stod det verkligen så mycket i den här artikeln/bloggen egentligen? Vad är det du vill säga med den? Vad är det du kommer fram till? Nils, Nils: Negativt inställd? Nope...men kanske kritiskt lagd ja. Det är det som jag tror har tagit mig framåt i den här världen, systemutvecklarvärlden. Jag vet inte riktigt varför jag gick med i Pellesoft men jag tyckte nog mest att det var kul med ett svenskt community. Jag har arbetat med systemutveckling och arkitektur de senaste 14 åren. Jag har arbetat i Microsoft miljö, .Net, Java, J2EE, Cobol, C++ osv och sett ganska mycket. Jag läser mycket och blev nyfiken ifrån länken här och läste din blog och jag tycker faktiskt att den är ganska "tunn". Vad jag saknar frågar du...stackare...nu har du gett mig kritikerrollen helt självmant ;) Ok...ta skydd: Nils: Om du vill ha lite tips angående din blog så ska du kanske försöka avhandla lite lättare ämnen. Inte lättare i svårighetsgrad men inte så stora ämnen. Det blir lättare och mer intressant om du gör djupdykningar i specifika mindre saker. Jag vet inte om du bara arbetar med Microsoft produkter eller om du pysslar med andra språk eller miljöer också men jag misstänker att det bara är MS? Ta en titt på Spring framework (www.springframework.org). Ett alldeles utmärkt javaramverk som håller på att portas över till .Net (www.springframework.net). Sådana saker kan vara intressanta att läsa om på en blog...coola grejer man kan göra med reflection (Dynamic proxies mm)...Trender, t ex Ioc/Dependecy Injection...dissa dem...höj dem till skyarna. Sådant kan vara lite lättare att läsa om och mer intressant. Nils:Spara ner objekt i databas och lite om "Object thinking" (the object-as-person m
http://normen.mine.nu/MyBlog/viewpost.aspx?PostID=108&showfeedback=true
Läsa även gärna mitt inlägg om:
Object thinking - the object-as-person metaphor
http://normen.mine.nu/MyBlog/viewpost.aspx?PostID=104&showfeedback=true
Mvh Fredrik Normén NSQUARED2
http://normen.mine.nu/myblogSv: Spara ner objekt i databas och lite om "Object thinking" (the object-as-pers
Sv: Spara ner objekt i databas och lite om "Object thinking" (the object-as-per
Du verkar rätt negativt inställd till allt ser det ut som. Kan du inte dela med dig av dina idéer till andra istället för att klaga på dem som försöker?
Mvh JohanSv: Spara ner objekt i databas och lite om "Object thinking" (the object-as-per
Tanken med inläggen på bloggen var att ge en liten överblick kring en av mataforerna i objekttäkandet samt att beskriva lite tankar kring sparning av objekt. Jag tycker väl iofs att de säger en del, men det kanske är för att jag själv har skrivt dom. Du får jätte gärna komma med förslag på hur dom skulle kunna förbättras, vad du anser att jag borde lägga till etc.
Tack för din feedback!
Mvh Fredrik Normén NSQUARED2
http://normen.mine.nu/myblogSv: Spara ner objekt i databas och lite om "Object thinking" (the object-as-pe
1. Du skriver "Databases do not preserve the encapsulation of an object. If the object is stored into a database, its data will be available for other program that accessing that data base. Other program can have direct access to the object and can change the object when it doesn’t know about it."
Man kan ju aldrig hindra att andra program läser rakt från databasen...oavsett om datan där ligger som serialiserade objekt eller som "vanlig" data. Enda sättet man kan förhindra detta är genom att "tvinga" andra program att använda "mitt" programs api:er eller liknande. Det är ju inte heller särskilt enkelt för ett C++ program att försöka ändra ett Java serialiserat objekt...så tvärtom kan det vara en fördel att använda serialiserade objekt för persistence för att hindra andra program för att modifiera datan...
2. Du skriver "If a running application uses objects that persist in a database, there is no assurance that an object’s data in the application is consistent with its data in the database. Other application can have changed the data for the object and save the data to the database, another application that use the same object could also change the object’s data. There is no way that a database can notify the object that its persistent data has changed by other program."
Egentligen samma sak som ovan...det går ju alldeles utmärkt att för andra program att ändra data i en databas även om den inte ligger där som serialiserade objekt.
3. Du skriver "If we want to search for an object, we need to iterate through all of our objects to find the one we are looking for."
Det är inte säkert att det är så. Man kan spara metadata om ett objekt som kan vara sökbart. Alla applikationer kräver inte avancerade sökfunktioner heller och då fungerar alldeles utmärkt. Kraven måste styra.
4. Jag saknar dina personliga erfarenheter av att arbeta med ett persistenslager av typen serialiserade objekt. Det känns inte som om du verkligen har arbetat med serialiserade objekt i någon större form, men det kan ja gha fel i. Men jag tycker att detta är något du missat i din blog...en mer personlig prägel...referera till projekt hos kund x bla, bla osv så känns det mer verklighetsnära.
5. Jag har arbetat i ett flertal projekt där man använt serialiserade objekt som persistenslager och haft både väldigt bra och dåliga erfarenheter av detta. Jag tycker du skulle lyfta upp de positiva egenskaperna med serialiserade objekt också...man behöver inte nödvändigtvis ha dem i en relationsdatabas utan man kan faktiskt ha dem i en gigantisk hashtable...typ...tro det eller ej :) Otroligt enkelt blir det eftersom man inte behöver bry sig ett dugg om persistence överhuvudtaget egentligen...bara att köra objekten rakt ner och man får en väldigt god prestanda. Den största nackdelen, som jag ser det, tar du inte upp och det är när man vid t ex en refaktorering (som du verkar gilla att prata om :) ) förändrar ett objekt...olika objektversioner är inte skoj i en objekt persistence lösning...
Det var kortfattat vad jag tyckte om blogen och innehållet i den. Vill inte vara alltför kritisk egentligen men du gav mig faktiskt chansen ;)
/NilsSv: Spara ner objekt i databas och lite om "Object thinking" (the object-as-p
>Negativt inställd? Nope...
Blanda inte ihop mig och min brors inlägg bara.
Tack för din feedback. Visst kan inlägget uppfattas tunt. Jag skrev väldigt fort och kortfattat av problem som finns, dock kanske inte hur man skulle kunna lösa dom. Jag har själv jobbat mycket med persistenslager. Jag använder mig av en IdentityMap för att cacha objekt som hämtas från databasen för att få en ökad prestanda. Om en användare hämtar ett objekt tex användaren "Fredrik" som en anna också har eller kommer att hämta, så ska båda få samma objekt och inte en ny instans, det löser även en IdentityMap. Nu när jag har läst dina punket så inser jag hur fattig inlägget är dock var min tanke att beskriva olika fall och problem med att lagra objekt i en databas. Att gå mot databas direkt och ändra är möjligt om inte rättigheter sätts upp, skulle ev nämt det men många saker anser man vara självklara när man skriver, speciellt när man inte vill gå in för djupt och skriva för mkt. Du är självklart välkommen med all kritik du har. Jag uppskattar kritik, behöver inte vara konstruktivkritik. Jag själv har jobbar med serializering och persistenslager i bara 4 år nu och har läst många böcker om det tex Martin Fowler har skrivit om olika patterns så som Data Mapper, Identity Field, Identity Map, Lazy Load mm. Jag har även diskuterat men egna "broker" lösning med Microsoft Patterns & Practises för att se att jag är på rätt spår. Jag har även dykt djupt in i ObjectSpace från MS för att se hur dom har gjort etc. Min "Broker" är igenligen mer eller mindre en kopia av "Persistens Broker" som finns till Java dock utökad.
Mvh Fredrik Normén NSQUARED2
http://normen.mine.nu/myblogSv: Spara ner objekt i databas och lite om "Object thinking" (the object-as-
Ta nu inte det här som kritik...det är bara ett tips och jag hoppas att du tar det som ett sådant. Jag är inte expert på hur man skriver en blog men jag vet vad jag tycker om att läsa.
Ha det gott
/NilsSv: Spara ner objekt i databas och lite om "Object thinking" (the object-as
Tack för tipsen, jag kommer dock att hålla mig mycket till .Net 2.0, vissa saker andra saker kan förekomma men inte på djupet.
Mvh Fredrik Normén NSQUARED2
http://normen.mine.nu/myblog