Article View: be.comp.programming
Article #5324Re: PHP probleempje
From: Roel Schroeven
Date: Mon, 12 May 2003 18:18
Date: Mon, 12 May 2003 18:18
38 lines
3008 bytes
3008 bytes
Ward Poelmans wrote: > JeroenV <jeroenv@pebbels.be.remove> wrote in > news:47848962.TS4J97216d@jvaes.cjb.net: > > >>Voor toondata() mss wel, maar waarom met haaldata()? Dan is het abstracte >>van je klasse weg... > > > Ik heb nog nooit met klassen gewerkt en dit was gewoon een testje. > Maar wat bedoel je met abstract? Een abstractie is het verstoppen van de implementatiedetails, die de gebruiker van de abstractie toelaten op een hoger niveau te denken en te werken. Een filesystem is bijvoorbeeld een abstractie, omdat het je toelaat te werken met files en directories in plaats van cilinders en sectoren. Bonus is dat je dikwijls de implementatie kan veranderen, en toch dezelfde interface behouden. Zo kan je probleemloos verschillende filesystems gebruiken (ext2, ext3, vfat, nfs, smbfs, ...) zonder al je programma's te moeten aanpassen. Software is eigenlijk een stapel van de ene abstractielaag bovenop de andere. Een klasse is een goede methode om interface en implementatie gescheiden te houden, en dus om een abstractie te cre๏ฟฝren. Over het algemeen is het een goed idee de onderdelen van je programma zo abstract mogelijk te houden, maar zoals zo dikwijls kan overdaad ook schadelijk zijn, zoals Joel Spolsky beschrijft: http://www.joelonsoftware.com/articles/LeakyAbstractions.html Jeroen bedoelt hier dat je haaldata() op een andere manier zou kunnen implementeren, of andere functies maken die hetzelfde doen, zonder dat je de klasse hoeft te veranderen. -- "Codito ergo sum" Roel Schroeven http://roelschroeven.net
Technical Details
Message-ID:
<ZzRva.86004$t_2.8055@afrodite.telenet-ops.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!sn-xit-01!sn-xit-09!supernews.com!diablo.theplanet.net!zen.net.uk!btnet-peer1!btnet-peer0!btnet-peer!btnet!newsfeed.london1.eu.level3.net!level3eu!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mailReferences:
<pan.2003.05.11.14.54.45.290882@my-mail.ch.REMOVE_THIS> <hduva.83942$t_2.7923@afrodite.telenet-ops.be> <47848962.TS4J97216d@jvaes.cjb.net> <Xns9379B0A9EE129WardPoelmanspandorab@195.130.132.65>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII X-Google-Thread: fcea4,bef9cac2557c1711 X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2003-05-12 11:20:03 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!sn-xit-01!sn-xit-09!supernews.com!diablo.theplanet.net!zen.net.uk!btnet-peer1!btnet-peer0!btnet-peer!btnet!newsfeed.london1.eu.level3.net!level3eu!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail From: Roel Schroeven <j4nff5m02@sneakemail.com> User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030312 X-Accept-Language: nl-be, nl, en-us, en MIME-Version: 1.0 Newsgroups: be.comp.programming Subject: Re: PHP probleempje References: <pan.2003.05.11.14.54.45.290882@my-mail.ch.REMOVE_THIS> <hduva.83942$t_2.7923@afrodite.telenet-ops.be> <47848962.TS4J97216d@jvaes.cjb.net> <Xns9379B0A9EE129WardPoelmanspandorab@195.130.132.65> In-Reply-To: <Xns9379B0A9EE129WardPoelmanspandorab@195.130.132.65> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Lines: 39 Message-ID: <ZzRva.86004$t_2.8055@afrodite.telenet-ops.be> Date: Mon, 12 May 2003 18:18:33 GMT NNTP-Posting-Host: 81.83.126.43 X-Complaints-To: abuse@telenet.be X-Trace: afrodite.telenet-ops.be 1052763513 81.83.126.43 (Mon, 12 May 2003 20:18:33 MET DST) NNTP-Posting-Date: Mon, 12 May 2003 20:18:33 MET DST Organization: Telenet Internet