Skip to main content

         Application Framework Principles






Frameworks


In computer systems, a framework is generally a layered structure implying what kind of programs can or should be built and how they would interrelate.

An Application Framework composed of a software framework used by software developers to implement the standard structure of application software.


To give you an idea, let us consider the below scenario about the chassis of a car or the steel structure of a building.


Application frameworks became famous with the growth of graphical user interfaces (GUIs) since these tended to promote a standard structure for applications.


Developers usually use object-oriented programming (OOP) techniques to implement frameworks such that the unique parts of an application can simply inherit from classes extant in the framework. 


Choosing a suitable framework among the available frameworks can be a tedious task. No matter which framework you go for remember the needs of your application and the tools needed for it. 



There are 5 principles in application framework.They are listed below.

 

S.O.L.I.D



S - Single responsibility


O - Open-close



L - Liskov substitution



I - Interface segregation



D - Dependency inversion




Single responsibility

The single-responsibility principle is a computer-programming principle that states that every module or class should have responsibility over a single part of the functionality provided by the software, and that responsibility should be entirely encapsulated by the class, module or function.




Open-close

In object-oriented programming, the open/closed principle states "software entities should be open for extension, but closed for modification"; that is, such an entity can allow its behavior to be extended without modifying its source code.




Liskov substitution

The Liskov Substitution Principle (LSP, lsp) is a concept in Object Oriented Programming that states: Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it.



Interface segregation

In the field of software engineering, the interface-segregation principle states that no client should be forced to depend on methods it does not use. ISP splits interfaces that are very large into smaller and more specific ones so that clients will only have to know about the methods that are of interest to them.






Dependency inversion

The Dependency Inversion Principle (DIP) states that high level modules should not depend on low level modules; both should depend on abstractions. Abstractions should not depend on details.
















Comments

Popular posts from this blog

GitHub link  https://github.com/chamoddissanayake/OnlineFashionStore Group Project - Online Fashion Store There is a use case diagram of the system . This diagram denotes a better understanding about the system online fashion store. It provides who are the users of the system and what are the functionalities of the each user. System Functionalities Main Roles in the system. User Admin Store Manager Guest Only users who logged in to the system can place orders   Once the admin creates a login for the store manager, it should be notified to the store manager via email Admin can create categories for the products The store manager can add products with details to the relevant category and add discounts to selected products User can add products to the shopping cart   Users can purchase the selected products in the shopping cart by selecting the payment method Users can create a wish list from their preferred
Restful Web Service Restful Web Service  is a lightweight, maintainable, and scalable service that is built on the REST architecture. Restful Web Service, expose API from your application in a secure, uniform, stateless manner to the calling client. Restful mostly came into popularity due to the following reasons: Heterogeneous languages and environments – This is one of the fundamental reasons which is the same as we have seen for  SOAP  as well. It enables web applications that are built on various programming languages to communicate with each other With the help of Restful services, these web applications can reside on different environments, some could be on Windows, and others could be on Linux. Restful Architecture An application or architecture considered REST full or REST-style has the following characteristics State and functionality are divided into distributed resources – This means that every resource should be accessible via the normal HTT
React                -Is a java script library for build user interfaces.               -Used to create single page applications.               -Allows us to create reusable UI components.               -Every component in react goes through a life cycle of  events.               -Developed and maintained by Facebook and  Instagram.               -Acts as view in MVC architecture.               -Classes are considered as components.               -Simplicity and aim to performance are main benefits.                                              Main features in React (01)One way data flow Data flows parent component to child component only. But action flows from child component to parent component only. (02)Virtual DOM React maintain a virtual DOM. Continuously monitoring users actions. Only the changed element re enter. (03)JSX JavaScript XML. HTML like syntax. Prevents cross site attacks. -----------------------------------------