.NET as a Platform for Implementing Concurrent Objects

.NET as a Platform for Implementing Concurrent ObjectsJACO is a Java-based runtime system designed to study techniques for implementing concurrent objects in distributed systems. The use of Java has allowed us to build a system that permits to combine heterogeneous networks of workstations and multiprocessors as a unique metacomputing system. An alternative to Java is Microsoft’’s .NET platform, that offers a software layer to execute programs written in different languages, including Java and C#, a new language specifically designed to exploit the full advantages of .NET. In this paper, we present our experiences in porting JACO to .NET. Our goal is to analyze how Java parallel code can be re-used in .NET. We study two alternatives. The first one is to use J#, the implementation of Java offered by .NET. The second one is to rewrite the Java code in C#, using the native .NET services. We conclude that porting JACO from Java to C# is not difficult, and that our sequential programs run faster in .NET than in Java, while internode communications have a higher cost in .NET.
Read more

Using ADO.NET Entity Framework in Domain-Driven Design: A Pattern Approach

Using ADO.NET Entity Framework in Domain-Driven Design A Pattern ApproachIn the object community domain-driven design philosophy has recently gained prominence. The application of domain-driven design practices in iterative software development projects promises to conquer complexity inherent in building software. And with the reduced complexity comes more intimate understanding of a problem domain, which results in better software, capable of effectively addressing user needs and concerns. The ADO.NET Entity Framework with its emphasis on modeling conceptual business entities and handling persistence can potentially facilitate domain-driven design. However, it is not clear exactly how the framework should be used in the context of domain-driven development. This exploratory case study was commissioned by Volvo Information Technology (Volvo IT) and it sought to provide guidance on using the Entity Framework in domain-driven design at the company. The study produced a number of important results. Firstly, a total of 15 guidelines were proposed for adopting the framework at Volvo IT. These guidelines address such issues as domain modeling during requirements engineering, efficient mapping among various models, reverseengineering of legacy databases, and a number of others. Secondly, six critical factors (performance, abstraction, competence, features, simplicity and support for multiple data sources) were identified that must be considered in adopting the Entity Framework in domain-driven design at the company. Finally, based on one of these factors, performance evaluation of the framework’’s querying mechanisms was performed, which further strengthened the guidelines.
Read more

Introduction C# and UML

Introduction C# and UMLC# is a modern object-oriented language for application development. In addition to object-oriented constructs, C# supports component-oriented programming with properties, methods and events.
Read more

Tutorial Exploring Game Development in the .NET Platform with Managed DirectX, GDI+ and Mobile Devices

Tutorial Exploring Game Development in the .NET Platform with Managed DirectX, GDI+ and Mobile DevicesThis tutorial explores current game development possibilities for the .NET Platform. The creation of a simple 2D game engine is used to illustrate many aspects of Managed DirectX computer game development, while concepts such as graphics manipulation, input handling and sound support are also discussed considering the GDI+ API and game development for mobile devices. The final purpose is to empower game developers to the productive creation of computer games through Microsoft’s recent technologies, services and tools.
Read more

Design patterns to increase performance when using an object-relational mapping and their categorization

Design patterns to increase performance when using an object ...Today’s sophisticated software applications are developed using object- oriented techniques. For database access the object-oriented approach hasn’t established – the usage of relational databases is still prevailing. There are a couple of tools that bridge this so called “impedance mismatch”. These tools allow the usage of relational database systems with an object-oriented approach. This is achieved in extending the object-oriented language with an object- oriented database model, often called persistency model. But the transparent usage of such a persistency model often leads to unacceptable slow systems. This paper describes how, and why this can occur. It will then introduce different categories of design patterns to prevent certain performance problems when using an object-relational mapping. Finally, it gives examples for each of these categories, pointing out their application area and their advantages and disadvantages.
Read more

Next Page →