|
Πρόσφατες Δημοσιεύσεις
-
It's said that "the devil is in the details". Well I saw some code the other day that reminded me exactly that quote. It is quite common for developers to forget about semantics. In my current project we tend to play a lot with Nhibernate and DDD and we seriously take care of our model. We take it to the extreme where we use every possible aspect defined in DDD, with Components being on of them. It is quite crucial to be careful when dealing with Components especially if ones uses them in a Set. Sets (as know from high-school math) are structures that can have only one instance per object. So we need to be sure that two objects are equal when we try to insert something to our Set (and respectively to the DB.) I will try to show here the complete implementation of a class that needs to override Equals() as it should be. First we have to remember that in C# the semantics of equality define that two reference-objects are equal if the respective references point to the same object (aka object identity). Well, some...
|
-
Writing concurrent applications using agents, Tomas Pertricek, Phil Trelford from Skills Matter. More...
|
-
"Metro is an internal code name for a typography -based design language created by Microsoft . It was created as a product of Microsoft's user interface design work on some of their media products like Zune and Windows Media Center , for major utilization in their mobile operating system, Windows Phone 7 ", wikipedia.org Continuing with Metro UI I will try to give here a bunch of information that seems to be quite scattered around the web and I will show how easy it is to build a sample window (no resizing) with WPF which will look like Metro. The first place one should study is the official guidelines of Microsoft. There you will find all the documentation you need about the logic of Metro, design guidelines and Photoshop templates of icons, buttons etc. There is however a better alternative for the icons. Here you can find all the standard Metro UI icons in one zip all in png format, ready to use in your project. A few other really interesting projects that apply the Metro UI are the following: http://metrotheme.codeplex.com/...
|
-
Continuing my effort to introduce eXpand framework to the world and with the help of some eXpand framework funs that want to remain anonymous I got invited to write an article for the Second International Scientific-Practical Conference Proceedings hosted at http://objectsystems.ru/ and edited by Pavel P. Oleynik The title of my article is Application frameworks in the real world and in a few words I explain the idea behind eXpand framework, how we have extend Devexpress XAF framework and speak about eXpand architecture. The paper can be very useful to all XAF/eXpand users! The collection can be found at Object Systems – 2010 (Winter session), The Second International Scientific-Practical Conference Proceedings, Russia, Rostov-on-Don, 10-12 November 2010. Edited by Pavel P. Oleynik Διαβάστε περισσότερα »...
|
-
This is the second post in a series of posts regarding to ADO.Net 2.0. Have a look at the first post if you like. In this post I am going to investigate the "Disconnected" model. When I say "Disconnected" I mean Datasets . Datasets are in memory representations...( read more )...
|
-
I have been teaching Entity Framework,LINQ to SQL,LINQ to objects,LINQ to XML for some time now. I am huge fan of LINQ to Entities and I am using Entity Framework as my main data access technology. Entity framework is in the second version right now and...( read more )...
|
-
In this post I would like to discuss in further detail the issue of track changing of entities in LINQ to SQL applications. I would like to show you how the DataContext object keeps track of all the items that are updated,deleted or inserted in the underlying...( read more )...
|
-
One of the most important concepts in Object Oriented Programming is Inheritance. In this post I would like to talk about LINQ to SQL and the inheritance type that it supports which is Table per Class Hierarchy . In this type of hierarchy we have a single...( read more )...
|
-
In this post I would like to talk about LINQ to SQL and transactions.When I have a LINQ to SQL class I always get asked this question, "How does LINQ treat Transactions?". When we use the DeleteOnSubmit() method or the InsertOnSubmit() method, all of...( read more )...
|
-
As you might have guessed I am continuing my LINQ to SQL posts. I am teaching a course right now on ADO.Net 3.5 (LINQ & EF) and I know a lot of people who have learned through my blog and my style of writing. I am going to use a step by step example...( read more )...
|
-
In this post I would like to talk about LINQ to SQL and its native lazy loading functionality. I will show you how you can change this behavior. We will create a simple ASP.Net application to demonstrate this. I have seen a lot of people struggling with...( read more )...
|
-
This trend with Metro UI is getting quite hot nowadays and I am really interested in it. I find it extremely good looking, clear and IMHO it follows quite well with the rules of simplicity . I will save the details for another post. At this point I was interested in some problems that a colleague ( N.Baxevanis ) of mine had when trying to build a Metro UI window for WPF. As you will see in his relative post he was somehow under the impression that the LocationChanged event wasn't triggered. After we solved that he was trying to find out why another event, LostFocus, didn't fire on a Window level when he was moving his cursor to another application. To focus or not to focus? It seems that a lot of people have the same question around the net so I think I can clarify some things about windows in general. It seems to me that people that have no or little Windows API experience struggle when confronted with it's internals and to be honest the whole API can be a little intimidating for the newcomers. Back to the LostFocus...
|
-
In this post I would like to present a step by step example on how to use stored procedures with LINQ to SQL. Many people will wonder why I am bothering talking about LINQ to SQL so much. First of all I give a lot of seminars where people want to learn...( read more )...
|
-
A friend of mine is working in an ASP.Net application and using SQL Server as the backend. He also uses LINQ to SQL as his data access layer technology. I know that Entity framework is Microsoft's main data access technology. All the money and resources...( read more )...
|
-
Cassandra, MongoDB, CouchDB etc... It's on my to-do list to take a deeper look onto that NoSQL trend but after seeing the following video I think I will change it's priority... (special thanks to N.Baxevanis ) CouchDB looks cool!...
|
-
Studying the CTP of C# 5 I discovered that an asynchronous method will throw away anything other than the first exception in an AggregateException thrown by one of the tasks it's waiting for. Reading the TAP documentation, it seems this is partly expected behaviour and partly not. TAP claims (in a section about how "await" is achieved by the compiler): It is possible for a Task to fault due to multiple exceptions, in which case only one of these exceptions will be propagated; however, the Task’s Exception property will return an AggregateException containing all of the errors. Unfortunately, that appears not to be the case. Here's a test program demonstrating the difference between an async method and a somewhat-similar manually written method. static async Task ThrowMultipleAsync() { Task t1 = DelayedException(500); Task t2 = DelayedException(1000); await TaskEx.WhenAll(t1,t2); } static Task ThrowMultipleManually() { Task t1 = DelayedException(500); Task t2 = DelayedException(1000); return TaskEx.WhenAll(t1,...
|
-
It is strange how much an architect can understand going through the design process of a system. I have tried a few approaches and I have studied a few more, all in all I am inclined to believe that DDD gets the best out of a software developer. I won't get into the details of DDD as the reader can get enough info around the web . It hard to get a grip of it though and I would recommend even the average developer to get some books. Thus, I strongly believe that whoever is serious about DDD should get the following: Domain Driven Design Applying Domain Driven Design and Patterns using .Net .Net Domain Driven Design with C# Is that all though? You wish... Truth is there are quite a few, brand new design processes. They are not widespread yet but they are gaining a lot of ground and anyone serious about designing large enterprise systems should have a serious look at them. I am going to give a bunch of links here and I will discuss each of them as we go, in new posts. First we go with BDD or Behaviour Driven Design,...
|
-
Αν και καθυστερημένα... θα ήθελα να ευχαριστήσω όλους τους φίλους για την παρουσία τους και τα πολύ καλά τους λόγια. Αν και η παρουσίαση ήταν κυρίως βασισμένη σε live hacking... προσπάθησα να σπάσω σε βήματα το refactoring για όποιον θέλει να μελετήσει τον κώδικα....
|
-
Χθες ανακοινώθηκε η διάθεση της beta έκδοσης του VS/TFS 2010 Service Pack 1 με “go live” license. Το SP1 διορθώνει ένα μεγάλο πλήθος από bugs ωστόσο, πιστοί στην παράδοση του να βάζουν νέα features στα services packs, έχουμε και διάφορα καλούδια: Local help viewer Τέλος της υποχρεωτικής χρήσης του browser για help view. O local help viewer είναι client app για off-line help. Τώρα θα έχουμε help, όπως παλιά, χωρίς να χρειάζεται internet. Επίσης, θα έχουμε όπως παλιά TOC, keyword index, Favorites, History και “search results”. Κάναμε έναν ωραίο κύκλο και βγήκαμε στην αρχή… Silverlight 4 tools Δεν θα χρειάζεται extra εγκατάσταση, θα συμπεριλαμβάνονται στο πακέτο. Unit Testing on .NET 3.5 Όσοι τρέχουν unit-tests μπορούν να κάνουν target το .NET Framework 3.5. Αυτό το χαρακτηριστικό είναι αδιάφορο για την Ελλάδα. Intellitrace for 64-bit and Sharepoint Το Intellitrace είναι super! Αρκεί να μην παίζει σε 64bit πλατφόρμα και να μην γράφεις εφαρμογές Silverlight γιατί τότε δεν υποστηρίζεται. Τουλάχιστον τώρα έφυγε ένα...
|
-
Το 5ο επεισόδιο του ITBully Podcast είναι διαθέσιμο για όποιον ενδιαφέρεται να το ακούσει. Αυτό το επεισόδιο είναι διαφορετικό από τα προηγούμενα καθώς δεν έχουμε ασχοληθεί με τα νέα της εβδομάδας και με κάποιο...
|
-
If you are an IT guy, whether a developer or not, you must have heard something about the "Cloud". Don't you think it is about time to get into it more thorougly!? If you are indeed a developer, here is something to help you start. This is a series of web casts that started last week and will be completed until February. 11/29: MSDN Webcast: Azure Boot Camp: Introduction to Cloud Computing and Windows Azure 12/06: MSDN Webcast: Azure Boot Camp: Windows Azure and Web Roles 12/13: MSDN Webcast: Azure Boot Camp: Worker Roles 01/03: MSDN Webcast: Azure Boot Camp: Working with Messaging and Queues 01/10: MSDN Webcast: Azure Boot Camp: Using Windows Azure Table 01/17: MSDN Webcast: Azure Boot Camp: Diving into BLOB Storage 01/24: MSDN Webcast: Azure Boot Camp: Diagnostics and Service Management 01/31: MSDN Webcast: Azure Boot Camp: SQL Azure 02/07: MSDN Webcast: Azure Boot Camp: Connecting with AppFabric 02/14: MSDN Webcast: Azure Boot Camp: Cloud Computing Scenarios And here is also the upcoming Firestarter event:...
|
-
I ll start this post with a phrase : WE HAVE TO REMEMBER TO NOT REINVENT THE WHEEL . Why I say that? XAF with the help of eXpand is now a very mature framework. Almost all the tools required for build LOB applications are here. XAF has many ruling engines (Validation,EditorState,Appearence) and eXpand also the same ( AdditionalViewControls , ModelArtifactState , MasterDetail , ConditionalDetailViews). All the above engines provide a way to describe behaviors using rules and they operate over certain Contexts. What is a context some of you may ask. The answer is simple, context means the “when” the rule is going to be evaluated. For example Validation rules have 2 predefined contexts , those are Save,Delete. I am going to give an example of how powerful a context is . Let say we have a Customer-Order relationship and we have 2 cases like the following First record of Customer Orders cannot be deleted. Only the last record of Customer Orders can be deleted So what we need to design the above rules? First...
|
-
ROFL that was really fun!!! Next thing you know it will complain about FaceBook being down... Team Foundation Error Windows Live Messenger is not running. Have fun! Dimitrios Staikos Διαβάστε περισσότερα »...
|
-
Hi, I guess things like this happen to you when you perform Sunday morning programming. My app got a WM_LBUTTONUP without a preceding WM_LBUTTONDOWN... And since that happened before any other button down/up activity in the application, some things were... Διαβάστε περισσότερα »...
|
-
WordPress just asked me to moderate a comment saying "of the many video clips that i download, i always watch those that are very funny" (with some emoticon ASCII chars following it). It was a comment on a post of mine about LvS which is related to video, so it looked ok, but the URL [...] Διαβάστε περισσότερα »...
|
|
|
|