C# programs run on the .net Framework, and necessary thing of home windows that includes a digital execution gadget referred to as the not unusual language runtime (CLR) and a unified set of sophistication libraries. The CLR is the commercial implementation with the aid of Microsoft of the commonplace language infrastructure (CLI), an international general that is the basis for developing execution and improvement environments wherein languages and libraries work together seamlessly.
Source code written in C# is compiled into an intermediate language (IL) that conforms to the CLI specification. The IL code and resources, together with bitmaps and strings, are saved on disk in an executable document called an assembly, normally with an extension of .exe or .dll. An assembly incorporates a happen that provides information approximately the meeting’s kinds, version, lifestyle, and protection requirements.
Principles
Solid principles are the plan rule that empower us to make do with the vast majority of the product outline issues. Robert C. Martin assembled these standards in the 1990s. These standards give us approaches to move from firmly coupled code and little embodiment to the wanted aftereffects of approximately coupled and exemplified genuine requirements of a business legitimately. Strong is an acronym of the accompanying.
S | Single responsibility. A Class should have a single responsibility. |
O | Open-closed. Software entities should be open for extension but closed for modification. |
L | Liskov substitution. Objects in a program should be replaceable by subclasses of same type without any adverse impact. |
I | Interface segregation. Multiple client specific interfaces are preferable over single generic interface. |
D | Dependency inversion. Program should depend on abstract entities. It should not depend on concrete implementation of an interface |
Characteristics
Interoperability
Language interoperability is the capacity of code to connect with code that is composed utilizing an alternate programming dialect. Dialect interoperability can expand code reuse and, in this way, enhance the effectiveness of the improvement procedure. Each code written in any .NET dialect and aggregated could be reused from other .NET dialect.
Common Language Runtime
The .NET Framework gives a run-time environment called the common Language runtime, which runs the code and gives benefits that make the improvement procedure less demanding. Compilers and instruments uncover the normal dialect runtime’s usefulness and empower you to compose code that advantages from this oversaw execution environment. Code that you create with a dialect compiler that objectives the runtime is called overseen code; it profits by elements, for example, cross-dialect incorporation, cross-dialect exemption taking care of, improved security, forming and organization bolster, a disentangled model for segment connection, and investigating and profiling administrations.
Language Independence
The .net Framework is language independent. this means that, as a developer, you could broaden in one of the many languages that concentrate on the .net Framework, including C#, C++/CLI, Eiffel, F#, Iron Python, Iron Ruby, PowerBuilder, visible simple, visual COBOL, and home windows PowerShell. You could get entry to the types and participants of class libraries evolved for the .internet Framework without having to know the language in which they had been at the beginning written and without having to observe any of the original language’s conventions. in case you are a aspect developer, your component may be accessed with the aid of any .internet Framework app irrespective of its language.
Base Class Library
The .net Framework class library is a library of training, interfaces, and value sorts that offer get admission to machine capability. Its miles the muse on which .internet Framework applications, components, and controls are constructed. The namespaces and namespace classes within the class library are indexed within the following table and documented in element in this reference. The namespaces and categories are listed with the aid of utilization, with the maximum often used namespaces acting first.
Simplified Deployment
The Microsoft .net Framework introduces several new functions aimed toward simplifying software deployment and fixing DLL Hell. Each give up users and developers are familiar with the versioning and deployment issues which could get up with ultra-modern component-primarily based systems. For instance, certainly each stop user has set up a brand new software on their gadget, simplest to locate that an current application mysteriously stops running. Most developers have also spent time with Regedit, looking to preserve all of the vital registry entries consistent to be able to prompt a COM class.
Security
The Microsoft .net Framework gives several techniques and a vast variety of kinds within the safety namespaces to help you build comfy code and create at ease internet packages. This chapter defines the .internet Framework safety landscape by using in short introducing the security advantages of controlled code development. This chapter additionally introduces and contrasts the two complimentary sorts of safety which can be to be had to .internet Framework packages: user protection and code security. Finally, the bankruptcy briefly examines the safety namespaces that you use to program .net Framework security.
Portability
The portable Class Library project allows you to put in writing and build controlled assemblies that work on multiple .internet Framework platform. you can create lessons that incorporate code you wish to share across many tasks, consisting of shared commercial enterprise common sense, after which reference those training from distinct styles of tasks.
Portable Library equipment is a new visual Studio upload-in from Microsoft that allows you to create C# and visual basic libraries that run on a spread of .internet-based platforms without recompilation.
Features
Custom Object Library
Every item in .net is inherited from a base class called device. Item. This magnificence is a part of the Microsoft .net Framework and includes the simple residences and strategies required for a .net object.
Any public houses or techniques defined in device. Object are robotically supplied in any object you create. For instance, device. Item includes a default constructor. in case your object has no constructor, it’s far nevertheless constructed because gadget. Object gives for the development. A number of the public homes and methods of device. Item have a default implementation. Which means you ought not to write any code to use them.
Class Libraries
The Framework class library is a library of lessons, interfaces, and price kinds that offer get right of entry to system capability. it is the muse on which .internet Framework applications, components, and controls are built. The namespaces and namespace categories in the class library are indexed within the following table and documented in detail in this reference. The namespaces and categories are listed via usage, with the maximum often used namespaces acting first.
Managed and Unmanaged application
Controlled code is the code this is written to goal the offerings of the controlled runtime execution surroundings along with common Language Runtime in .net generation. The controlled Code strolling underneath a common Language Runtime cannot be accessed outdoor the runtime surroundings in addition to cannot call immediately from outside the runtime environment. It refers to a agreement of cooperation between natively executing code and the runtime. It gives offerings like rubbish collection, run-time type checking, reference checking and so forth. by means of the usage of controlled code you could keep away from many regular programming mistakes that cause security holes and risky applications, additionally, many unproductive programming responsibilities are routinely taken care of, consisting of kind safety checking, reminiscence management, destruction of unused gadgets etc.
Unmanaged code compiles straight to system code and directly finished via the working gadget. The generated code runs natively on the host processor and the processor directly executes the code generated by using the compiler. it’s far constantly compiled to goal a selected architecture and could simplest run at the meant platform. So, if you want to run the equal code on one of a kind structure then you’ll should recompile the code using that unique structure.
Runtime
The .net Framework gives a run-time environment known as the commonplace language runtime, which runs the code and gives services that make the improvement system easier.
Compilers and equipment disclose the common language runtime’s capability and permit you to write down code that advantages from this managed execution surroundings. Code that you expand with a language compiler that objectives the runtime is referred to as managed code; it advantages from capabilities such as go-language integration, cross-language exception managing, more desirable safety, versioning and deployment support, a simplified model for issue interplay, and debugging and profiling services.
Conclusion
.net is a programming framework created by using Microsoft that builders can use to create programs extra without difficulty. “a framework is only a bunch of code that the programmer can call without having to put in writing it explicitly.”
In an ideal global, you would not want .net Framework. The makers of all of your vital packages could have the time and sources to completely patch together their packages into self-contained applications, due to the fact growing for home windows could be an intuitive, often excessive-degree system that unbiased builders should nail down in pretty short order. So no person except builders could need a bundle like .net, which gives applications with an orderly way to get right of entry to databases, web services, and other conversation equipment.