Unit Testen in .NET : Deel 2 (Mock Objecten)
(14-11-2006) In dit artikel tonen we gebruik van het open source project NMock om mock objecten te maken. Mock objecten zijn er voor bedoeld om het de ontwikkelaar makkelijk te maken klassen te testen zonder de volledige implementatie van alle relevante onderdelen beschikbaar te hebben. Dat betekent dat we een enkele klasse kunnen testen in plaats van de volledige set aan ‘echte’ objecten zodat eventuele bugs sneller zijn op te sporen. We gebruiken Visual Basic .NET voor de voorbeeldcode meer...
Secure coding in het .NET Framework
(18-09-2006) In dit artikel bespreken we enkele mogelijkheden om de veiligheid en beveiliging van .NET applicaties mogelijk te maken. Onder meer wordt gekeken naar code access security, role-based security en cryptografie. Met name applicaties die via het Internet bereikbaar zijn een gewilde target voor hackers. Het tweede deel van dit artikel kijkt naar de mogelijkheden van DevPartner SecurityChecker. Een handige controlemiddel om toe te passen alvorens de applicatie het Internet op gaat. meer...
Unit Testen in Visual Studio 2005 (2)
(17-09-2006) Dit is deel twee van twee artikelen waarin de de mogelijkheden van Test-driven development (TDD), een techniek voor het ontwerpen en ontwikkelen van software, in Visual Studio Team System onder de loep worden genomen. meer...
Unit Testen in Visual Studio 2005 (1)
(16-09-2006) Test-driven development (TDD) is een techniek voor het ontwerpen en ontwikkelen van software. Het streven van TDD is het creëren van software elementen die relatief onafhankelijk van elkaar kunnen functioneren. Dat kunnen we bereiken door een reeks testen, zogeheten unit testen, te schrijven die op ieder moment uitgevoerd kunnen worden en rapporteren over de juiste werking van de geschreven programmacode. In het bredere raamwerk van Agile ontwikkelmethoden neemt TDD een essentiële plaats in. meer...
Cryptografie en encryptie in .NET
(27-01-2006) De cryptografische classes van het .NET framework bevatten veel functionaliteit waardoor je geen wiskundig genie of algoritme expert hoeft te zijn om er gebruik van te maken. In dit artikel wordt getoond kan worden toegepast in het versleutelen van documenten. meer...
Review Divelements UI Controls
(06-10-2005) In dit artikel kijken we naar een drietal componenten waarmee de look-and-feel van bestaande Microsoft applicaties kan worden toegepast in eigen applicaties. De componenten zijn afkomstig van het Engelse bedrijf Divelements en hebben een goede reputatie als het gaat om stabiliteit, innovativiteit en snelheid. Laten we eens zien of men deze reputatie kan waarmaken. meer...
Applicaties distribueren met ClickOnce
(21-09-2005) Vandaag de dag kiest men vaak voor het ontwikkelen van een Web applicatie, ook al biedt een Windows client een rijkere gebruikersinterface, performance, de mogelijkheid om offline te werken en integreert het beter met andere client applicaties. In dit artikel kijken we naar de ClickOnce technologie die onderdeel uitmaakt van het Microsoft .NET 2.0 Framework. Deze technologie kan de keuze voor web of client wel eens vaker in de richting van het tweede doen verschuiven. meer...
Visual Studio 2005 Edities
(20-09-2005) De officiële lancering van Visual Studio 2005 staat gepland op 7 november. Zodra Visual Studio 2005 wordt uitgebracht is het voor bedrijven de vraag via welke weg het beste een legaal exemplaar van deze software in gebruik kan worden genomen. Er zijn verschillende edities van Visual Studio 2005 die uitkomen. Dit artikel probeert een overzicht van de mogelijkheden te geven. meer...
Nullable typen in C# 2.0
(19-09-2005) De nieuwste versie van C#, versie 2.0, ondersteunt nullable data types. Dit is wellicht een kleine verandering, maar het biedt flinke voordelen voor hen die gebruik maken van database-tabellen waarbij sommige velden optioneel zijn.
Dit artikel beschrijft de toepassing van nullable typen en maakt voor de voorbeelden gebruik van de Visual Studio 2005 Release Candidate (.NET Framework versie 2.0.50727). meer...
Een Web Service voor WebForms en Windows Applicaties
(17-06-2005) Het concept van Web Services is nu al een aantal jaren onder de aandacht van ontwikkelaars, architecten Zelfs bij niet IT-ers begint er al eens een lampje, een kleintje weliswaar, te branden wanneer Web Services aan bod komen. In dit artikel wordt we een praktisch voorbeeld getoond van een Web Service voor zowel een Windows Forms omgeving als voor een Web applicatie. meer...
Tabvolgorde op Smartdevices
(30-05-2005) De tabvolgorde bepaalt de volgorde waarin de focus van de ene control wordt verplaatst naar de andere door middel van de TAB toets. Het zetten van de juiste volgorde is van belang voor de gebruiksvriendelijkheid van een applicatie. Dit artikel laat zien hoe je de tabvolgorde instelt en hoe je dat op een smart device applicatie moet regelen. meer...
DataReaders onder de loep
(10-04-2005) De ADO.NET DataReader is een object waarmee je snelle, sequentiële, leesacties kunt doen door de resultaten van een SQL selectie. Als het gaat om performance, dan is de DataReader waarschijnlijk de snelste manier om records op te halen. Er zijn echter een paar valkuilen waarvoor je moet opletten. In dit artikelen beschrijven we welke dit zijn en tonen we enkele best practices rondom het gebruik van de DataReader. meer...
Review RADvolution Designer 2005
(25-02-2005) In dit artikel nemen we RADvolution Designer 2005 onder de loep. Dit produkt van Nederlandse makelij is een ontwikkelgereedschap met daarin diverse Rapid Application Development (RAD) componenten voor gebruik in Visual Studio .NET. De tool richt zich met name op het snel kunnen ontwikkelen van Windows Forms applicaties. meer...
Methoden asynchroon uitvoeren
(04-10-2004) Dit artikel laat zien hoe je een methode kunt laten uitvoeren, tegelijkertijd met andere taken in een programma. Dat kan handig zijn bij langdurige processen, waarbij je nog steeds controle wilt hebben over de uitvoerende applicatie. Ook laten we zien hoe je het resultaat van de methode weer kunt opvragen. Aan de hand van 4 in C# geschreven methoden wordt getoond hoe je kunt controleren of de asynchroon gestarte methode klaar is. meer...
Interfaces en abstracte classes
(14-07-2004) Een van de belangrijkste beslissingen die een technisch architect moet nemen is de keuze voor een interface of een abstracte class om zogenaamd polymorph gedrag in een objectmodel te krijgen. De keuze tussen het maken van een interface of een abstracte class ligt echter niet altijd voor de hand. In dit artikel gaan we naar de verschillen tussen deze twee mogelijkheden kijken en zien we wanneer we de één dan wel de ander het beste kunnen gebruiken. meer...
Serialisatie in .NET; deel 2
(31-05-2004) Dit artikel gaat verder waar het vorige artikel over serialisatie in .NET is gebleven. Er wordt getoond hoe je zelf de ISerializable interface kunt implementeren, hoe je kunt omgaan met versieverschillen tussen te serialiseren classes. Tot slot kijken we wat serialisatie voor gevolgen heeft bij het gebruik van class-hiërarchieën. meer...
Serialisatie in .NET; deel 1
(09-05-2004) .NET heeft een krachtige en eenvoudig om objecten de serialiseren en deserialiseren. En ook al is deze methode eenvoudig – je hoeft zelfs niet altijd expliciete serialisatiecode te schrijven – ze is ook nog eens uitbreidbaar. In dit artikel kijken we naar de mogelijkheden om serialisatie op de server en de client te implementeren. De voorbeeldcode is in VB.NET. meer...
COM+ Componenten in .NET
(24-02-2004) COM+ heeft diverse voordelen voor componenten, zoals schaalbaarheid, transacties, objectpooling, just-in-time activation. In dit artikel wordt uiteengezet hoe het creëren en gebruiken van een COM+ component in zijn werk gaat. We gaan er van uit dat Visual Studio .NET wordt gebruikt. Enige kennis van de basis van MTS/COM+ is aanbevolen. meer...
Unit Testen in .NET; deel 1
(28-01-2004) Dit artikel is het eerste deel uit een reeks over unit testen in .NET. NUnit is een unit-test framework voor alle .NET talen. Versie 2.0 is volledig nieuw ontworpen om gebruik te maken van de mogelijkheden van het .NET Framework. meer...
Web services en DataSets
(25-01-2004) In dit artikel gaan we in op het gebruik van DataSets in Web services en waar je rekening mee moet houden als je hier gebruik van wilt maken. Ook de verschillende opties die je ter beschikking staan komen aan de orde. meer...
Introductie J#
(25-01-2004) In dit artikel laten we zien hoe een Java ontwikkelaar kan profiteren van J# en Visual Studio .NET om snel en eenvoudig Windows en Web applicaties te maken. We beginnen hiervoor met het verkennen van de beginselen van de J# taal. Als je al bekend bent met Java zal het je allemaal erg bekend voorkomen. meer...
Wanneer XSLT niet voldoende is
(07-12-2003) In dit artikel wordt getoond hoe je zelf extensies aan XSLT kunt toevoegen. Eerst wordt een eenvoudige extensie gemaakt, vervolgens laten we zien hoe je de uitvoer van een transformatieproces naar verschillende bestanden kunt sturen. meer...
Internationale applicaties en het gebruik van resourcebestanden
(27-09-2003) Het .NET Framework biedt methoden om meertalige applicaties te ontwikkelen. Door een applicatie in meerdere landen uit te brengen is de investering veelal sneller terug te verdienen. Als je een applicatie ontwikkelt voor gebruikers uit verschillende landen moet je minstens twee dingen doen: globaliseren (" globalization") en lokaliseren ("localization"). Dit artikel beschrijft hoe je dit kunt realiseren. meer...
Tekenen met het .NET Framework
(12-07-2003) In de System.Drawing namespace vind je de classes die je kunt gebruiken om plaatjes naar ieder willekeurig control in een Windows Forms applicatie te schrijven. In dit artikel laten we zien hoe je dit voor elkaar krijgt via het tekenen van een smiley op het startscherm van een applicatie. meer...
Tracing in C#
(15-06-2003) In de System.Diagnostics namespace, vind je classes om tracing mogelijk te maken in een applicatie. Tracing is erg handig omdat dit in de code kan helpen bij het debuggen en optimaliseren van je applicatie. In dit artikel wordt gekeken naar de mogelijkheid om tracinginformatie toe te voegen aan een applicatie en methoden om deze informatie te filteren en te bekijken. meer...
.NET Remoting; deel 3
(18-05-2003) In de vorige artikelen over .NET Remoting hebben we iedere keer een server-programma gemaakt waarin het remote object gehost werd. We kunnen ook gebruik maken van Internet Information Server (IIS) om onze objecten te hosten. De voorbeeldapplicatie die we in dit artikel gaan maken, genereert van een string een versleutelde waarde. De versleuteling gebeurt op basis van SHA-1 (Secure Hash Algorithm). meer...
.NET Remoting; deel 2
(26-04-2003) Het is mogelijk met .NET Remoting zowel server- als client-activated objecten te maken. In deel 1 van de serie over .NET Remoting lieten we zien hoe een server-activated werkt. Even verderop in deel 2 laten we zien hoe client-activated remote objecten werken. Maar eerst kijken we naar de verschillen tussen een Singleton mode object en een SingleCall object. Bovendien wordt getoond hoe we, door middel van configuratiebestanden, de instellingen van de service en de client kunnen manipuleren. meer...
.NET Remoting; deel 1
(21-04-2003) Dit is het eerste deel van een serie artikelen over het bouwen en gebruiken van .NET Remoting waarmee het mogelijk is om objecten over het netwerk aan te spreken. De .NET remoting infrastructuur geeft de ontwikkelaar een eenvoudig framework waarmee objecten die niet fysiek op de client-machine staan aangesproken kan worden. Zo kunnen gedistribueerde applicaties gebouwd worden. meer...
Het Gebruik Van C# Structures
(13-04-2003) In dit artikel gaan we in op structures. Een structure in C# is een samengesteld datatype dat bestaat uit een aantal andere elementen van een ander type. Een C# structure is een value type en een instantie (of object) van een structure wordt gecreëerd in de stack. De structure kan velden, methoden, constanten, constructors, properties, indexes, operators en zelfs andere structures bevatten. meer...
XML Documenten lezen en schrijven
(02-02-2003) In het vorige artikel zijn we ingegaan op het lezen en schrijven van tekstbestanden. Inmiddels wordt meer en meer gebruik gemaakt van XML om gegevens in tekstbestanden op te slaan. Het .NET framework beschikt over een W3C compatibele class, maar daarnaast kan je ook gebruik maken van een aparte class die het manipuleren van XML documenten erg eenvoudig maakt. In dit artikel laten we zien hoe je XML documenten kunt schrijven en lezen met deze speciale .NET class. meer...
Tekstbestanden lezen en schrijven
(26-01-2003) In dit korte artikel gaan we in op het schrijven en lezen van tekstbestanden. Hiervoor maken we gebruik van de classes StreamReader en StreamWriter. Deze classes erven van resp. TextReader en TextWriter. Het schrijven en lezen van tekstbestanden blijkt zeer eenvoudig. meer...
Review Visual Studio .NET 2003 ("Everett")
(30-11-2002) Een week geleden had ik de kans om Visual Studio.NET 2003 Beta 1, codenaam "Everett" (verder VS.NET 2003) te downloaden en te bekijken. Deze release integreert beter met Windows .NET Server 2003 en is geschikt voor het bouwen van applicaties voor mobiele apparaten. Ook zal het ontwerpen van forms makkelijker worden en wordt Visual J# opgenomen in de suite voor developers die met Java willen werken. meer...
Het zelf maken van 'Custom Attributes'
(12-11-2002) Het is mogelijk om nieuwe declaraties toe te voegen aan C# door het gebruik van attributes. Dat wil zeggen, C# ondersteunt attributes en developers kunnen zelf attributen maken en toepassen op verschillende onderdelen van de programmacode. Deze informatie kan ook weer runtime worden opgehaald en bekeken via Reflection. In dit artikel wordt getoond hoe je zelf custom attributes kunt maken en toepassen meer...
Microsoft .NET twee tot drie keer sneller dan J2EE
(20-10-2002) Microsoft heeft een .NET applicatie gemaakt die laat zien dat de voorbeeld applicatie van een J2EE implementatie, de zgn. PetStore, op een .NET platform minstens 10 keer sneller werkt dan in J2EE. Om eens na te gaan wat er van de vergelijking klopt heeft een team van Franse ontwikkelaars/trainers de benchmarktest nog eens over gedaan. Er is veel aangedaan om een zo correct mogelijke J2EE implementatie naast een zo correct mogelijke .NET implementatie van de PetStore te leggen. meer...
Exception-Handling in VB.NET
(11-10-2002) In VB.NET beschikken we over ingebouwde support voor de behandeling van exceptions. Een exception is letterlijk vertaald een uitzondering, een uitzondering op de normaal te volgen instructie-weg. De sleutel om het concept van een exception en dat van de behandeling van exceptions te begrijpen is een exception zeker niet te aanzien als een fatale fout, maar als een afwijkende conditie waarop gereageerd moet worden.
meer...
Page Templates; een introductie
(01-10-2002) Er zijn allerlei manieren om een consistent ontwerp op een website te krijgen. Één van die manieren maakt gebruik van zogenaamde page templates. Dit komt er in wezen op neer dat je erft van een Page class en er vervolgens een eigen stijl op toepast. Dit artikel legt uit hoe je page templates kunt toepassen op je site meer...
RSS Feed in C#
(25-08-2002) Het RSS Feed project laat een in C# geschreven programma zien waarmee je RSS Feeds van het Internet kunt gebruiken om deze data in een database te plaatsen waarna je dit in je eigen applicatie kunt gebruiken. In de voorbeeldcode laten we zien hoe we een link, titel en omschrijving kunnen krijgen van elk van de items in de feed. meer...
Delegates in .NET
(25-08-2002) Een van de vele nieuwe mogelijkheden van .NET via de Common Language Runtime en het .NET Framework zijn "Delegates". Deze Delegates of .NET Delegates zijn zeker de moeite van het gebruiken waard. meer...
Assemblies en Reflection
(17-08-2002) Een assembly is zoals de meeste wel al zullen weten een eenheid van data. De data in de assembly kan bestaan uit verschillende klassen en forms, maar ook uit figuren, geluiden, ... gebruikt in een programma. Elk programma gecompileerd in .NET bestaat dan ook uit minimaal 1 assembly (1 exe of dll file). Hoe maak je nu objecten en roep je functies op die in een andere dll geimplementeerd zijn? meer...
My First Web Service
(11-08-2002) Een kort artikel over het maken van een Web Service in C#. Je hebt geen Visual Studio.NET nodig. Je kunt iedere tekst editor gebruiken en ook het gratis te gebruiken ASP.NET Web Matrix. Het .NET Framework en IIS is uiteraard wel noodzakelijk. meer...
Database Class Factory
(11-08-2002) Als je in een produktieomgeving software schrijft moet je met veel zaken rekening houden. Zo heeft de klant vaak al een database voor jou geselecteerd (Oracle of SQL Server). Er zijn echter situaties waarbij de database niet vaststaat op het moment van ontwikkeling. Op zo'n moment is een class factory handig. meer...
Multithreading in C#
(03-07-2002) Het gebruik van meerdere threads in je programma kan de performance en schaalbaarheid vergroten, maar je moet hierbij wel voorzichtig te werk gaan. Dit artikel geeft een eerste indruk van de threading mogelijkheden in het .NET Framework. Eerst wordt het concept geïntroduceerd en daarna enkele veel voorkomende codetechnieken om threading te gebruiken. meer...
ASP.NET Web Matrix review
(30-06-2002) Zoals beloofd een review van ASP.NET Web Matrix. Dit is een gratis ontwikkeltool om ASP.NET applicaties mee te bouwen. Bij het programma hoort ook een webserver, een editor, de MSDE (de afgeslankte versie van SQL Server) en diverse templates om snel een website op te zetten. meer...
Een WebPoll in ASP.NET
(18-06-2002) Op de startpagina van DevTips vind je een WebPoll. Het leek me immers aardig om erachter te komen wat bezoekers van deze site vinden. Een goede programmeur is ook een luie programmeur, dus het kwam niet als eerste in mij op om zo'n webpoll zelf te maken. Echter, de broncode van een dotnet versie kwam ik maar niet tegen. Dus besloot ik toch maar om er zelf 1 te maken. Het resultaat zie je in actie op de startpagina, en de C# code erachter vind je hier. meer...
Zet je INI bestanden om naar XML met .NET
(09-06-2002) Het INI bestandsformaat werd populair omdat het een eenvoudige manier is om waarden op te slaan die mogelijk kunnen wijzigen in een standaard formaat die ook van buiten de gecompileerde code te benaderen is. Er zijn echter ook nadelen. Als je de INI bestanden converteert naar XML ben je van veel tekortkomingen af. meer...
Windows Services in VB.NET
(26-05-2002) Als een programma maakt dat onafgebroken moet werken en gebeurtenissen logt, maak dan geen desktopapplicatie, maar een Service. Dit artikel geeft je de benodigde hints om je eigen .NET Service te bouwen. meer...
Een component voor databasebenadering in .NET
(22-05-2002) Een flexibel en makkelijk te gebruiken component waarmee je gegevens uit een database kunt halen. Deze gegevens worden automatisch naar XML omgezet. Bovendien ondersteunt het component geparameteriseerde queries, stored procedures en transacties. Tot slot is het mogelijk het component als web service in te zetten. Kortom, zeer de moeite van het bekijken waard. meer...
De TreeView in ASP.NET
(20-05-2002) Het is duidelijk dat de makers van de Microsoft.Web.UI.WebControls.TreeView meer geïnteresseerd waren in de design time kenmerken van deze control dan het voor de ontwikkelaar eenvoudiger maken om deze kenmerken in code aan te passen. Maar goed, het is gratis dus moeten we niet zeuren. meer...
|