Welcome, Guest: Register On Nairaland / LOGIN! / Trending / Recent / New
Stats: 3,153,124 members, 7,818,369 topics. Date: Sunday, 05 May 2024 at 01:47 PM

What Is A Framework? - Programming - Nairaland

Nairaland Forum / Science/Technology / Programming / What Is A Framework? (1101 Views)

Have Learnt PHP And A Framework?? / Don't Be A Framework-infected Programmer / Full Time Laravel or Symfony Framework Php/js Developers Are Urgently Needed (2) (3) (4)

(1) (Reply) (Go Down)

What Is A Framework? by ubsky(m): 2:37pm On May 02, 2020
I guess this is probably not the first time hearing this as a newbie to the tech world but if it is am gonna break it down for you.

A framework or software framework is a platform for developing software applications,a framework is similar to an application programming interface (API), though technically a framework includes an API ,the function of an API in a framework is that it provides access to the elements supported by the framework i.e that's when we have different packages when building an application to install thereby making the application work properly.

A framework may include predefined classes and functions that can be used to process input, manage hardware devices, and interact with system software, framework also contains libraries,compiler, and other programs used in the software development process. Several different types of framework exist like I currently use the .net framework for Windows,we have Android Application Framework for Android,Software development kits (SDKs) are available for each of these frameworks...

Please before jumping into using any framework, understand the core language and if it's procedural of the language u understand make sure u learn the oop concept of the language, because framework operates fully on oop concept.. Framework actually makes software development easier, it makes use of mvc pattern thereby making your codes more organized�

Re: What Is A Framework? by Karleb(m): 4:20pm On May 02, 2020
Is MVC the only design pattern?
Re: What Is A Framework? by stanliwise(m): 4:50pm On May 02, 2020
Karleb:
Is MVC the only design pattern?
Mvc is a large design pattern which consist of many many design pattern
Re: What Is A Framework? by Karleb(m): 5:04pm On May 02, 2020
stanliwise:
Mvc is a large design pattern which consist of many many design pattern

That's not what I'm saying. There are other design patterns apart MVC. It just happens to be the popular one.
Re: What Is A Framework? by harryblack007: 6:00pm On May 02, 2020
MVC can be applied to anything, it was invented by MS. It is very common these days in Ruby on Rails and other web frameworks like Laravel and CodeIgniter, you can even use it to AJAX requests, for example AJAX requests in CodeIgniter.
Re: What Is A Framework? by ubsky(m): 6:27pm On May 02, 2020
Karleb:
Is MVC the only design pattern?
MVC is neither a design pattern or a technology. It's a software architecture pattern,the difference between a design pattern and a software architecture pattern is that design patterns tend to be simpler and apply to specific components of an application, while architecture patterns are broader and apply to the application as a whole.
Re: What Is A Framework? by Karleb(m): 7:45pm On May 02, 2020
ubsky:
MVC is neither a design pattern or a technology. It's a software architecture pattern,the difference between a design pattern and a software architecture pattern is that design patterns tend to be simpler and apply to specific components of an application, while architecture patterns are broader and apply to the application as a whole.

I don't mean to counter your excellent view but Wikipedia define MVC as a software design pattern.

My main point is; there are patterns like MVC. Some are similar to MVC while others are different.
You claimed frameworks use MVC patterns in your OP which is wrong.

Vue.js for example uses MVVM.
Re: What Is A Framework? by ubsky(m): 8:29pm On May 02, 2020
Karleb:


I don't mean to counter your excellent view but Wikipedia define MVC as a software design pattern.

My main point is; there are patterns like MVC. Some are similar to MVC while others are different.
You claimed frameworks use MVC patterns in your OP which is wrong.

Vue.js for example uses MVVM.
I like the fact that you quoted in a polite manner, the truth is that a particular definition can have several views from different people based on how it has been applied by these sets of people........

1 Like

Re: What Is A Framework? by ubsky(m): 8:39pm On May 02, 2020
If you put ten software architects into a room and have them discuss what the Model-View-Controller pattern is, you will end up with twelve different opinions.
Some of the purists out there will inevitably have qualms with what I refer to as “MVC”, so feel free to leave a flaming comment on the message board at the bottom of this Web page.
I will gladly entertain different perspectives on what MVC means.
Re: What Is A Framework? by stanliwise(m): 9:05pm On May 02, 2020
Karleb:


That's not what I'm saying. There are other design patterns apart MVC. It just happens to be the popular one.
mention the other design pattern!

Almost all other large pattern e.g MVVM and the likes are MVC derivatives . MVC remains the dominant pattern for complete software dev. MVC is a large pattern that contains and houses almost all other kind of pattern. So it will always be the dominant pattern you will see
Re: What Is A Framework? by Shepherdd(m): 9:32pm On May 02, 2020
ubsky:
MVC is neither a design pattern or a technology. It's a software architecture pattern,the difference between a design pattern and a software architecture pattern is that design patterns tend to be simpler and apply to specific components of an application, while architecture patterns are broader and apply to the application as a whole.

Well said, No way MVC is a design pattern. MVC doesn't care whether you are using singleton, creational, composite e.t.c

stanliwise:
mention the other design pattern!

Almost all other large pattern e.g MVVM and the likes are MVC derivatives . MVC remains the dominant pattern for complete software dev. MVC is a large pattern that contains and houses almost all other kind of pattern. So it will always be the dominant pattern you will see

How about the Client-server pattern used in banking, or email systems or Broker pattern which is dominant for any reasonable Big data project.
Re: What Is A Framework? by stanliwise(m): 10:01pm On May 02, 2020
Shepherdd:


Well said, No way MVC is a design pattern. MVC doesn't care whether you are using singleton, creational, composite e.t.c



How about the Client-server pattern used in banking, or email systems or Broker pattern which is dominant for any reasonable Big data project.
MVC is a design pattern o. Don’t get it twisted, how can someone say MVC is not a design pattern but an architectural pattern
Is architectural pattern not same as design pattern? Although people might say the scope is different but they are design pattern. MVC is most times not fully utilized as an architecture as most time it is used to handle the graphical part of most software dev but for small applications you can say it is architectural. But me anyday anytime I see MVC as a Complex design Pattern and wouldn’t see it as an architecture

For the banking you mention I wasn’t referring to some funny system. If so then we have many.

MVC is for anything that have graphics. If your application has a user interface then MVC or its derivative is a must for you especially when it gets large.

For other system like mails and servers they could use other Kind of design pattern rather than MVC. This is because the don’t contain graphics or any UI interface.
Re: What Is A Framework? by stanliwise(m): 10:15pm On May 02, 2020
ubsky:
MVC is neither a design pattern or a technology. It's a software architecture pattern,the difference between a design pattern and a software architecture pattern is that design patterns tend to be simpler and apply to specific components of an application, while architecture patterns are broader and apply to the application as a whole.
MVC Is both to the best of my knowledge. Although I think it is more of design pattern for GUI or better still an architecture for graphics. But not as an architecture for an application especially large application. MVC can’t handle everything.

1 Like

Re: What Is A Framework? by Karleb(m): 10:19pm On May 02, 2020
@stanliwise

You are not getting it. No one is arguing MVC's dominance here.

What I corrected was the notion that all frameworks uses MVC.

Patterns like MVC are not MVC. ...and of course there are other design patterns aside MVC like @Shepherdd right said.

The fact that they are not popular doesn't disqualify them as a design pattern.
Re: What Is A Framework? by Shepherdd(m): 10:45pm On May 02, 2020
stanliwise:

MVC is a design pattern o. Don’t get it twisted, how can someone say MVC is not a design pattern but an architectural pattern
Is architectural pattern not a sub category of of design pattern? So as behavioral too.

For the banking you mention I wasn’t referring to some funny system. If so then we have many.

MVC is for anything that have graphics. If your application has a user interface then MVC or its derivative is a must for you especially when it gets large.

For other system like mails and servers they could use other Kind of design pattern rather than MVC. This is because the don’t contain graphics or any UI interface.

Ok wait.

Is architectural pattern not a sub category of of design pattern? So as behavioral too.
Design Patterns are more localized, they don't affect how you structure your overall code, they affect a specific section of your code they deal with common design problems following object oriented design principles. Design patterns are language or technology agnostic, they don;t care about the domain.

Architectural Patterns have an heavy impact on the code base, most often impacting the whole application either horizontally (ie. how to structure the code inside a layer) or vertically (ie. how a request is processed from the outer layers into the inner layers and back).(stackoverflow)

If MVC is a design pattern can you compare it with other design patterns ? does it fit with them.

stanliwise:
MVC Is both to the best of my knowledge. Although I think it is more of design pattern for GUI or better still an architecture for graphics.

This is correct. MVC was originally created for smalltalk and graphics alone then it was later adopted as an architecture for the web.

1 Like

Re: What Is A Framework? by ubsky(m): 11:00pm On May 02, 2020
Check this out

Re: What Is A Framework? by stanliwise(m): 11:27pm On May 02, 2020
Karleb:
@stanliwise

You are not getting it. No one is arguing MVC's dominance here.

What I corrected was the notion that all frameworks uses MVC.

Patterns like MVC are not MVC. ...and of course there are other design patterns aside MVC like @Shepherdd right said.

The fact that they are not popular doesn't disqualify them as a design pattern.
how can MVC disqualify any other design pattern? I never said or imply anything like that!.

What I corrected was the notion that all frameworks uses MVC.
I think the guy in question was particularly referring to web framework. Because that is the only way he could make sense e.g laravel, Djanjo, NodeJs, cakePHP etc. well my simple answer is because they are GUI dominated. Even at that the framework still consist of other kind of design appter like business logic and service design pattern

Anyway I clearly understand what you type. It’s fine.

1 Like

Re: What Is A Framework? by ubsky(m): 7:59am On May 03, 2020
I love the way we all commented and quoted one another so maturedly,even though most of us here have different opinions about the topic in view..We learn everyday,any other ideas or opinion is welcome grin grin grin

1 Like

Re: What Is A Framework? by ubsky(m): 8:01am On May 03, 2020
stanliwise:
how can MVC disqualify any other design pattern? I never said or imply anything like that!.


I think the guy in question was particularly referring to web framework. Because that is the only way he could make sense e.g laravel, Djanjo, NodeJs, cakePHP etc. well my simple answer is because they are GUI dominated. Even at that the framework still consist of other kind of design appter like business logic and service design pattern

Anyway I clearly understand what you type. It’s fine.
yeah I was specifically pointing to web framework

1 Like

Re: What Is A Framework? by stanliwise(m): 8:07am On May 03, 2020
ubsky:
yeah I was specifically pointing to web framework
So I hope I have clarified the reason why? Because web is basically about GUI, Input and Data.

M(Models means Data) V(View) C(controller).

You Make an action, Website make analysis and you see the result.

1 Like

(1) (Reply)

Guide To Becoming A Self Taught Software Developer/engineer. / Review My React Js Bookmark Website / Ado.net And Vb.net Question.

(Go Up)

Sections: politics (1) business autos (1) jobs (1) career education (1) romance computers phones travel sports fashion health
religion celebs tv-movies music-radio literature webmasters programming techmarket

Links: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)

Nairaland - Copyright © 2005 - 2024 Oluwaseun Osewa. All rights reserved. See How To Advertise. 35
Disclaimer: Every Nairaland member is solely responsible for anything that he/she posts or uploads on Nairaland.