Thursday, February 9, 2023

Design Patterns

 


Design Patterns

In software engineering, a design pattern is a general repeatable solution to a commonly occurring problem in software design. A design pattern isn't a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations.


Uses of Design Patterns

Design patterns can speed up the development process by providing tested, proven development paradigms. Effective software design requires considering issues that may not become visible until later in the implementation. Reusing design patterns helps to prevent subtle issues that can cause major problems and improves code readability for coders and architects familiar with the patterns.


Often, people only understand how to apply certain software design techniques to certain problems. These techniques are difficult to apply to a broader range of problems. Design patterns provide general solutions, documented in a format that doesn't require specifics tied to a particular problem.


In addition, patterns allow developers to communicate using well-known, well understood names for software interactions. Common design patterns can be improved over time, making them more robust than ad-hoc designs.


Creational design patterns

These design patterns are all about class instantiation. This pattern can be further divided into class-creation patterns and object-creational patterns. While class-creation patterns use inheritance effectively in the instantiation process, object-creation patterns use delegation effectively to get the job done.



Abstract Factory

Creates an instance of several families of classes

Builder

Separates object construction from its representation

Factory Method

Creates an instance of several derived classes

Object Pool

Avoid expensive acquisition and release of resources by recycling objects that are no longer in use

Prototype

A fully initialized instance to be copied or cloned

Singleton

A class of which only a single instance can exist

Structural design patterns

These design patterns are all about Class and Object composition. Structural class-creation patterns use inheritance to compose interfaces. Structural object-patterns define ways to compose objects to obtain new functionality.



Adapter

Match interfaces of different classes

Bridge

Separates an object’s interface from its implementation

Composite

A tree structure of simple and composite objects

Decorator

Add responsibilities to objects dynamically

Facade

A single class that represents an entire subsystem

Flyweight

A fine-grained instance used for efficient sharing


Private Class Data

Restricts accessor/mutator access

Proxy

An object representing another object

Behavioral design patterns

These design patterns are all about Class's objects communication. Behavioral patterns are those patterns that are most specifically concerned with communication between objects.



Chain of responsibility

A way of passing a request between a chain of objects

Command

Encapsulate a command request as an object

Interpreter

A way to include language elements in a program

Iterator

Sequentially access the elements of a collection

Mediator

Defines simplified communication between classes

Memento

Capture and restore an object's internal state

Null Object

Designed to act as a default value of an object

Observer

A way of notifying change to a number of classes


State

Alter an object's behavior when its state changes

Strategy

Encapsulates an algorithm inside a class

Template method

Defer the exact steps of an algorithm to a subclass

Visitor

Defines a new operation to a class without change

Monday, January 3, 2022

Sitecore - Content Management System (CMS)

Sitecore is a customer experience management company that provides web content management, and multichannel marketing automation software. The company was founded in 2001 in Denmark.

Thursday, November 19, 2009

Wednesday, November 18, 2009

MOSS

Microsoft Office Sharepoint Server
http://senthilmcan-sharepoint.blogspot.com/

Thursday, November 12, 2009

Explanation

GNU GPL
GNU General Public License
The GNU General Public License (GNU GPL or simply GPL) is a widely used free software license,
UDDI
Universal Description, Discovery, and Integration
Universal Description, Discovery and Integration (UDDI) is a platform-independent, Extensible Markup Language (XML)-based registry for businesses worldwide to list themselves on the Internet. UDDI is an open industry initiative, sponsored by the Organization for the Advancement of Structured Information Standards (OASIS), enabling businesses to publish service listings and discover each other and define how the services or software applications interact over the Internet. A UDDI business registration consists of three components:White Pages — address, contact, and known identifiers; Yellow Pages — industrial categorizations based on standard taxonomies; Green Pages — technical information about services exposed by the business.
ASAX
Active Server Application file
The Global.asax file, also known as the ASP.NET application file, is an optional file that contains code for responding to application-level and session-level events raised by ASP.NET or by HTTP modules. The Global.asax file resides in the root directory of an ASP.NET application. At run time, Global.asax is parsed and compiled into a dynamically generated .NET Framework class derived from the HttpApplication base class. ASP.NET is configured so that any direct URL request for the Global.asax file is automatically rejected; external users cannot download or view the code in it.
AWT
Abstract Window Toolkit
A collection of graphical user interface (GUI) components that were implemented using native-platform versions of the components. These components provide that subset of functionality which is common to all native platforms. Largely supplanted by the Project Swing component set ACID
atomicity, consistency, isolation, and durability
The acronym for the four properties guaranteed by transactions: atomicity, consistency, isolation, and durability
API
Application Programming Interface
The specification of how a programmer writing an application accesses the behavior and state of classes and objects.
ASCII
American Standard Code for Information Interchange
American Standard Code for Information Interchange. A standard assignment of 7-bit numeric codes to characters
JVM
Java virtual machine
A software "execution engine" that safely and compatibly executes the byte codes in Java class files on a microprocessor (whether in a computer or in another electronic device).
CORBA
Common Object Request Broker Architecture
A language independent, distributed object model specified by the Object Management Group (OMG).
DOM
Document Object Model
A tree of objects with interfaces for traversing the tree and writing an XML version of it, as defined by the W3C specification.
DTD
Document Type Definition
A description of the structure and properties of a class of XML files.
FTP
File Transfer Protocol
File Transfer Protocol. FTP, which is based on TCP/IP, enables the fetching and storing of files between hosts on the Internet.
TCP/IP
Transmission Control Protocol based on IP (Internet Protocol)
This is an Internet protocol that provides for the reliable delivery of streams of data from one host to another.
GUI
Graphical User Interface
Graphical User Interface. Refers to the techniques involved in using graphics, along with a keyboard and a mouse, to provide an easy-to-use interface to some program.
HTML
HyperText Markup Language
This is a file format, based on SGML, for hypertext documents on the Internet. It is very simple and allows for the embedding of images, sounds, video streams, form fields and simple text formatting. References to other objects are embedded using URLs.
HTTP
HyperText Transfer Protocol
HyperText Transfer Protocol. The Internet protocol, based on TCP/IP, used to fetch hypertext objects from remote hosts.
HTTPS
HyperText Transfer Protocol layered over the SSL Protocol
IDL
Interface Definition Language
Interface Definition Language. APIs written in the Java programming language that provide standards-based interoperability and connectivity with CORBA (Common Object Request Broker Architecture).
IIOP
Internet Inter-ORB Protocol
Internet Inter-ORB Protocol. A protocol used for communication between CORBA object request brokers.
IP
Internet Protocol
The basic protocol of the Internet. It enables the unreliable delivery of individual packets from one host to another. It makes no guarantees about whether or not the packet will be delivered, how long it will take, or if multiple packets will arrive in the order they were sent. Protocols built on top of this add the notions of connection and reliability.
JAR
Java Archive
JAR (Java Archive) is a platform-independent file format that aggregates many files into one. Multiple applets written in the Java programming language, and their requisite components (.class files, images, sounds and other resource files) can be bundled in a JAR file and subsequently downloaded to a browser in a single HTTP transaction. It also supports file compression and digital signatures.
JRE
Java Runtime Environment
A subset of the Java Development Kit (JDK) for end-users and developers who want to redistribute the runtime environment alone. The Java runtime environment consists of the Java virtual machine1, the Java core classes, and supporting files.
RMI
Remote Method Invocation
A distributed object model for Java program to Java program, in which the methods of remote objects written in the Java programming language can be invoked from other Java virtual machines1, possibly on different hosts.
JDBC
Java Database Connectivity
An industry standard for database-independent connectivity between the Java platform and a wide range of databases. The JDBC provides a call-level API for SQL-based database access.
JDK
Java Development Kit
Java Development Kit. A software development environment for writing applets and application in Java .
JFC
Java Foundation Class
An extension that adds graphical user interface class libraries to the Abstract Windowing Toolkit (AWT).
JNDI
Java Naming and Directory Interface
A set of APIs that assists with the interfacing to multiple naming and directory services.
JIT
Just-in-Time Compiler
A compiler that converts all of the bytecode into native machine code just as a Java program is run. This results in run-time speed improvements over code that is interpreted by a Java virtual machine.
ORB
Object Request Broker
A library than enables CORBA objects to locate and communicate with one another.
OTS
Object Transaction Server
A definition of the interfaces that permit CORBA objects to participate in transactions.
POA
Portable Object Adapter
A CORBA standard for building server-side applications that are portable across heterogeneous ORBs.
RPC
Remote Procedure Call
Remote Procedure Call. Executing what looks like a normal procedure call (or method invocation) by sending network packets to some remote host.
SAX
Simple API for XML
Simple API for XML. An event-driven, serial-access mechanism for accessing XML documents.
SSL
Secure Socket Layer
A protocol that allows communication between a Web browser and a server to be encrypted for privacy.
SGML
Standardized Generalized Markup Language
An ISO/ANSI/ECMA standard that specifies a way to annotate text documents with information about types of sections of a document.
SOAP
Simple Object Access Protocol
The Simple Object Access Protocol (SOAP) uses a combination of XML-based data structuring and the Hyper Text Transfer Protocol (HTTP) to define a standardized method for invoking methods in objects distributed in diverse operating environments across the Internet.
SQL
Structured Query Language
Structured Query Language. The standardized relational database language for defining database objects and manipulating data
TCK
Technology Compatibility Kit
A test suite, a set of tools, and other requirements used to certify an implementation of a particular Sun technology conformant both to the applicable specifications and to Sun or Sun-designated reference implementations.
URI
Uniform Resource Identifier
A compact string of characters for identifying an abstract or physical resource. A URI is either a URL or a URN. URLs and URNs are concrete entities that actually exist; A URI is an abstract superclass.
URL
Uniform Resource Locator
A standard for writing a text reference to an arbitrary piece of data in the WWW. A URL looks like "protocol://host/localinfo" where protocol specifies a protocol to use to fetch the object (like HTTP or FTP), host specifies the Internet name of the host on which to find it, and localinfo is a string (often a file name) passed to the protocol handler on the remote host.
URN
Uniform Resource Name
A unique identifier that identifies an entity, but doesn't tell where it is located. A system can use a URN to look up an entity locally before trying to find it on the Web. It also allows the Web location to change, while still allowing the entity to be found.
www
World Wide Web
The web of systems and the data in them that is the Internet.
XML
Extensible Markup Language
A markup language that allows you to define the tags (markup) needed to identify the data and text in XML documents.
MCMS
Microsoft Content Management Server
Quickly deploy scalable, reliable and dynamic personalized e-business web sites with Content Management ServerMicrosoft Content Management Server
ASAX
Global.asax, used for application-level logic
XSD
XML Schema Definition
XML Schema is an XML-based alternative to DTDs.An XML Schema describes the structure of an XML document.The XML Schema language is also referred to as XML Schema Definition (XSD).why XML Schemas are more powerful than DTDs, and how to use the XML Schema language in your application.
MDAC
Microsoft Data Access Components
Microsoft Data Access Components (commonly abbreviated MDAC; also known as Windows DAC) is a framework of interrelated Microsoft technologies that allows programmers a uniform and comprehensive way of developing applications that can access almost any data store. Its components include: ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC). There have been several deprecated components as well, such as the Microsoft Jet Database Engine, MSDASQL (the OLE DB provider for ODBC), and Remote Data Services (RDS). Some components have also become obsolete, such as the former Data Access Objects API and Remote Data Objects.
AJAX
Asynchronous JavaScript and XML
AJAX is not a new programming language, but a new technique for creating better, faster, and more interactive web applications.With AJAX, a JavaScript can communicate directly with the server, with the XMLHttpRequest object. With this object, a JavaScript can trade data with a web server, without reloading the page.AJAX uses asynchronous data transfer (HTTP requests) between the browser and the web server, allowing web pages to request small bits of information from the server instead of whole pages.The AJAX technique makes Internet applications smaller, faster and more user-friendly.
RSS
Really Simple Syndication
RSS allows you to syndicate your site content RSS defines an easy way to share and view headlines and content RSS files can be automatically updated RSS allows personalized views for different sites RSS is written in XML
OSI
Open Source License
An open source license is a copyright license for computer software that makes the source code available under terms that allow for modification and redistribution without having to pay the original author. Such licenses may have additional restrictions such as a requirement to preserve the name of the authors and the copyright statement within the code. One popular (and sometimes considered normative) set of open source software licenses are those approved by the Open Source Initiative (OSI) based on their Open Source Definition (OSD).
PSF
Python Software Foundation
The Python Software Foundation (PSF), is a non-profit organization devoted to the Python programming language. It was launched March 6, 2001. The mission of the foundation is to foster development of the Python community. The PSF is responsible for various processes within the Python community, including developing the core Python distribution, managing intellectual rights, and raising funds.
Python Software Foundation received prestigious 2005 Computerworld Horizon Award for "cutting-edge" technology
ICE
Internet Communications Engine
The Internet Communications Engine, or Ice, is an object-oriented middleware that provides object-oriented Remote Procedure Call, grid computing, and Publish/subscribe functionality developed by ZeroC and dual-licensed under the GNU GPL and a proprietary license. It supports C++, Java, .NET-languages (such as C# or Visual Basic), Objective-C, Python, PHP, and Ruby[1] on most major operating systems such as Linux, Solaris, Windows and Mac OS X. A light variant of ICE runtime, called Ice-e[2], may run inside mobile phones and iPhones. As its name indicates, the middleware may be used for internet applications without the need to use the HTTP protocol and is capable of traversing firewalls unlike most other middleware
CIOL
CyberMedia India Online
CyberMedia India Online (CIOL) IT news portal provides latest Information Technology news, information on IT Industry, products & companies
SKD
Software Development Kit
A software development kit (SDK or "devkit") is typically a set of development tools that allows a software engineer to create applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform.
AJAX
Asynchronous JavaScript and XML
AJAX is based on JavaScript and HTTP requests. AJAX = Asynchronous JavaScript and XML.AJAX is based on JavaScript and HTTP requests.AJAX is a type of programming made popular in 2005 by Google (with Google Suggest).AJAX is not a new programming language, but a new way to use existing standards

Operating Systems

Operating Systems Concept using 'C Language'.
Visit Operating Systems Blog http://senthilmcan-os.blogspot.com

Tuesday, October 13, 2009

Radio Frequency Identification (RFID)

RFID stands for Radio Frequency Identification, a technology with its roots in World War II. Today, Ultra-High Frequency (UHF) RFID is emerging as a premier technology for automating the identification and tracking of commodities and collecting valuable information on their whereabouts, contents, physical state and more. Organizations in Retail, Defense, Transportation, Healthcare and other industries are increasingly employing RFID technology to bring new efficiencies to supply chains, track assets, ensure product quality and consumer safety, protect the integrity of their brands, promote security and more.