Usa schemi di progettazione in C? [chiuso]

5

I modelli di progettazione sono utili per i linguaggi orientati agli oggetti.

Ma come può un linguaggio non orientato agli oggetti come C farne uso?

    
posta Yousha Aleayoub 05.08.2012 - 22:26
fonte

3 risposte

14

Per rinforzare le risposte già fornite, una citazione dal libro GOF Design Patterns stesso:

Our patterns assume Smalltalk/C++-level language features, and that choice determines what can and cannot be implemented easily. If we assumed procedural languages, we might have included design patterns called "Inheritance", "Encapsulation" and "Polymorphism".

Mentre gli schemi di progettazione descritti sono orientati al software orientato agli oggetti, e certamente i linguaggi di programmazione orientati agli oggetti sono adatti a questo, i concetti che rappresentano sono indipendenti dal linguaggio. Ciò che varia è il sovraccarico del lavoro che dovresti investire per implementare la funzionalità OOP richiesta o una soluzione alternativa per questo.

    
risposta data 05.08.2012 - 23:09
fonte
8

Dall'articolo di Wikipedia su Modelli di progettazione software :

a design pattern is a general reusable solution to a commonly occurring problem within a given context in software design

Come puoi vedere, non si fa menzione della programmazione orientata agli oggetti qui.

I modelli di progettazione si applicano a qualsiasi linguaggio del computer e talvolta sono di livello superiore (modelli architettonici).

Un esempio è per SQL - c'è anche un libro per Modelli di progettazione SQL .

    
risposta data 05.08.2012 - 22:33
fonte
7

I modelli di progettazione non sono limitati a determinate lingue o famiglie linguistiche. Potresti trovare modelli di design per qualsiasi lingua o paradigma.

Se ti riferisci ai pattern GOF: dai un'occhiata a stdout , stderr e stdin a C. Questo è il modello di strategia che non sembra così OO dopo tutto.

A proposito: La programmazione orientata agli oggetti non è dipendente dalla lingua. Alcuni linguaggi rendono più semplice, altri lo rendono più difficile, ma puoi programmare "orientato agli oggetti" in qualsiasi linguaggio universale (come in "non specifico" come ad esempio SQL).

    
risposta data 05.08.2012 - 22:30
fonte

Leggi altre domande sui tag