Pages

Showing posts with label software. Show all posts
Showing posts with label software. Show all posts

Thursday, October 28, 2010

The .NET Framework

The .NET Framework, introduced by Microsoft in 2002, is a programming platform and set of tools for building and running distributed applications in the Internet era. It also contains an object-oriented class library and a collection of reusable types (a type is a representation of data such as classes) that enable you to accomplish many common programming tasks such as file access, string manipulation, and database management. The class library is categorized into modules (referred to as namespaces) and includes types that support a variety of applications such as:

  • Console applications
  • Windows forms
  • ASP.NET applications
  • XML web services
  • Windows services
  • SQL Server applications
  • Small device applications

In fact, C# is one of the .NET languages that Microsoft developed. The other languages that use .NET are Visual Basic .NET, J#, and Managed C++, in addition to languages developed by other companies. (See more details on the web site: http://www.dotnetpowered.com/languages.aspx). All these languages work under the .NET umbrella and use its libraries. Actually, you can write an application with modules written in different languages that support .NET.


In addition to the class library, the .NET Framework includes the Common Language Runtime (CLR), an integrated environment for executing applications using the .NET library.


There are other versions of the .NET Framework that work with operating systems other than Microsoft Windows, such as Mono. Mono can run on operating systems such as Mac OS X and Linux. There is also a subset of the .NET Framework called the Microsoft .NET Compact Framework that can be used with small devices and smart phones. There is even a Micro Framework for extremely low-power devices, such as watches.
Share/Bookmark

Wednesday, October 27, 2010

Design Patterns

Design patterns are recurring solutions to software design problems you find again and again in real-world application development. Patterns are about design and interaction of objects, as well as providing a communication platform concerning elegant, reusable solutions to commonly encountered programming challenges. 

Model-view-presenter (MVP) 

Model-view-presenter (MVP) is a user interface design pattern engineered to facilitate automated unit testing and improve the separation of concerns in presentation logic. 
  • The model is an interface defining the data to be displayed or otherwise acted upon in the user interface. 
  • The view is an interface that displays data (the model) and routes user commands (events) to the presenter to act upon that data. 
  • The presenter acts upon the model and the view. It retrieves data from repositories (the model), persists it, and formats it for display in the view. 

Model–View–Controller (MVC) 

is a software architecture, currently considered as an architectural pattern used in software engineering. The pattern isolates "domain logic" (the application logic for the user) from input and presentation (GUI), permitting independent development, testing and maintenance of each.

The model is the domain-specific representation of the data upon which the application operates. Domain logic adds meaning to raw data (for example, calculating whether today is the user's birthday, or the totals, taxes, and shipping charges for shopping cart items). When a model changes its state, it notifies its associated views so they can be refreshed.

Many applications use a persistent storage mechanism such as a database to store data. MVC does not specifically mention the data access layer because it is understood to be underneath or encapsulated by the model. Models are not data access objects; however, in very simple apps that have little domain logic there is no real distinction to be made. Also, the ActiveRecord is an accepted design pattern which merges domain logic and data access code - a model which knows how to persist itself.

The view renders the model into a form suitable for interaction, typically a user interface element. Multiple views can exist for a single model for different purposes.

The controller receives input and initiates a response by making calls on model objects.

An MVC application may be a collection of model/view/controller triplets, each responsible for a different UI element.

MVC is often seen in web applications where the view is the HTML or XHTML generated by the app. The controller receives GET or POST input and decides what to do with it, handing over to domain objects (i.e. the model) that contain the business rules and know how to carry out specific tasks such as processing a new subscription.

Share/Bookmark
Related Posts Plugin for WordPress, Blogger...

Popular Posts

Share |