Desvendando mundo mágico dos acr ônimos: 고체, 키스, 야그니, 건조, DDDD, TDD

머리말


니 잘못은 하나도 없어.마넬라 제럴이 보기에 유럽연합의 목표는 소프트웨어의 질을 향상시키는 것이다.Vamos come çar ent ando Abortando o o que seria um 소프트웨어 품질 및 수입 품질 - ncia do mesmo.

당신은 소프트웨어의 질이 어떻다고 생각합니까?


극단적으로 복잡한 알고리즘에 사용되는 소프트웨어의 품질 기준을 정의하는 것은 기본 원칙이다.
이 소프트웨어, 이 프로그램, 비자 문제를 해결하는 소프트웨어.어떠한 상업 활동도 고객의 결정 가치와 만족도는 무시할 수 없는 것이다.conceito회사: 소프트웨어 품질 보증 체계로 리우의 수요를 만족시킬 수 있습니다.이것은 일종의 추구이고 일종의 공통된 추구이며 일종의 진보이며 일종의 진보이며 일종의 표현이다.
디자인 과정에서 디자인, 제조, 가공, 수출, 수출 등 요소를 고려한다.contas,tudoestáinterligado,poisum소프트웨어회사,claroe consistente,geralmente vai estar mais próximo de atender를 포함하여 특수상황의 수요에 따라 어떠한 fim도 사용할 수 없다.

소프트웨어 품질은 얼마나 높습니까?


O primeiro ponto a destacaréque nós desenvolvemos software para pessoas.이것은 특수한 생활 방식의 하나다.필연필요할 때 운영체제 소프트웨어는 새로운 소프트웨어를 개발할 것이다.마사 바스타 아페나스 무다르(Mas n ão basta apenas mudar), 셀파시(tem que ser fácil), 라피도(rápido), 리스코(livre de riscos).
O segundo pontoéque nós trabalhamos em times.시간, 습관, 시간.오늘 소프트웨어와pessoas회사는 일련의 정보를 발표했고 일련의 문제를 제기하여 현재의 문제를 해결하는 동시에 완전한 해결 방안을 제시했다.
중요한 것은 페소스, 프린시비, 데슨 월비도레스를 위해 서비스를 제공할 수 있다는 것이다.그 밖에 우리는 일련의 파일, 테스트, 테스트, 일치성 테스트와 새로운 기능 테스트를 제공했다.에소브레는 티투로가 없는 아크로니모스 성이며, 트라저 마이오 카리다드는 유능한 사람이다.Alguns Sancetors, outros metodologias, mas todos com 및 mesmo propósito.엔토, 와모스 오세토스.

Nota: Vale lembrar que a ideia aqui é dar uma visão geral sobre cada um dos conceitos. Alguns dos assuntos são extremamente profundos e merecem um (ou mais) artigos dedicados.


튼튼했어


O 유명한 5대 요소 원칙인 동양 목표의 디자인, 구조, 기능, 유연성.Alguns dos conceitos são mais fáceis de entender analisando Examplos,portanto,este seráoúnico tópico em que vou colocar Alguns códigos:

[S] 단일 책임 원칙(Prince pio da Responsibilidade Única)


A class should have one, and only one, reason to change.


Simples assim.이것은 일종의 책임감이다.하나의 간단한 원칙, 하나의 중요한 원칙, 하나의 기본적인 기능.O Seguem dois 예:
//without solid
class EmailService {
    validateEmailAndSend(string emailAddress, string subject, string content): boolean;
}

//with solid
class EmailService {
    sendMail(emailAddress: string, subject: string, content: string): void {
        //
    };
}

class Validator {
    validateEmail(email: string): boolean {
        //
    };
}

[O] 개방/폐쇄의 원칙(프린스피오 도아베토/페차도)


You should be able to extend a classes behavior, without modifying it.


우리의 원칙은 기존의 기초 위에서 기존의 인프라 시설을 개선하는 것이다.오, 중대한 문제는 우리의 존재가 기회라는 것이다.O 예를 들어 관심 있는 사람은 플린시피의 상황을 가장 빠른 속도로 반영한다. 그는 전 주의 상황을 가장 빠른 속도로 반영하고 가장 빠른 속도로 다른 지역(즉 다른 지역의 책임)의 고객에게 서비스를 제공한다.이것은 새로운 변혁이고 변혁의 과정이다.
//without solid
class Provider {
    calculateCost(): number {
        if (this.type == 'email') {
        //
        } else if (this.type == 'internet') {
        //
        } else {
        //
        }
    }
}

//with solid
interface Provider {
    calculateCost(): number;
}

class EmailProvider implements Provider {
    calculateCost(): number {

    }
}

class InternetProvider implements Provider {
    calculateCost(): number {

    }
}

[50] 이스코프 대체원칙(프린스 피오 데 리스코프 대체원칙)


Let Φ(x) be a property provable about objects x of type T. Then Φ(y) should be true for objects y of type S where S is a subtype of T.


오르한도 페라 플레밀라 웨스, 프린스 아수스타, 마사 오콘세토 스플레임.의미 있는 과정은 과정의 발전 과정에서 파생된 것이다.하나의 예는 seguir가 없습니다. 왜냐하면 nãs intercambiáveis pois n ão tãm a capacidade de implementar os mesmométodos:
//without solid
class Bird {
    walk(): void {
        //
    }

    fly(): void {
        //
    }

}

class Duck extends Bird {}

class Owl extends Bird {}

//with solid
class Bird {
     walk(): void {
        //
     }
}

class FlyingBird extends Bird {
    fly(): void {
        //
    }
}

class AquaticBird extends Bird {
    swim(): void {
        //
    }
}

class Duck extends AquaticBird {}

class Owl extends FlyingBird {}

[1] 인터페이스 격리 원칙(인터페이스 격리 원칙)


Make fine grained interfaces that are client specific.


따라서 프린스 피오는 현재 세계의 인터페이스 발전을 지키고 사용자, 사용자, 고급 인터페이스, 특히 발전 업계에 투자하는 인터페이스를 본질적으로 지원한다.Segue Examplo:
//without solid
interface Stream {
    read(): void;
    write(): void;
}

class Reader implements Stream {}
class Writer implements Stream {}

//with solid
interface ReadableStream {
    read(): void;
}
interface WritableStream {
    write(): void;
}

class Reader implements ReadableStream {}
class Writer implements WritebleStream {}
class DuplexStream implements ReadableStream, WritableStream {}

[D] 역방향 원칙 종속


Depend on abstractions, not on concretions.


수업 내용은 수업 내용에 달려 있다.이 과정들은 모두 구체적이다. 왜냐하면 그들은 알고리즘의 복잡화를 실현하는 도구이기 때문이다.하나의 주요 과정으로서 우리는 하나의 공통된 목표, 하나의 공통된 목표, 하나의 공통된 목표, 하나의 공통된 목표, 하나의 공통된 목표, 하나의 공통된 목표, 하나의 공통된 목표, 하나의 공통된 목표, 하나의 공통된 목표, 하나의 공통된 목표, 하나의 공통된 목표, 하나의 공통된 목표, 하나의 공통된 목표, 하나의 공통된 목표, 하나의 공통된 목표, 하나의 공통된 목표, 하나의 공통된 목표가 필요하다.하나의 예는 seguir이다. 대체품으로서 outro Serviceço.Com에 전적으로 의존하는 유형, 인터페이스에 의존하는ela vai apenas deuma, 가능한 바늘 시설, 의존성(예를 들어 테스트와 대체 통신 서비스 사용):
//without solid
class CloudNotificationService {
    sendMessage(): void {
        //
    }
}

class Transaction {
    private notificationService: CloudNotificationService;

    constructor(notificationService: CloudNotificationService) {
        this.notificationService = notificationService;
    }

    save(): void {
    //...
        this.notificationService.sendMessage();
    }
}

//with solid
interface NotificationService {
    sendMessage(): void;
}

class CloudNotificationService implements NotificationService {
    sendMessage(): void {
        //
    }
}

class Transaction {
    private notificationService: NotificationService;

    constructor(notificationService: NotificationService) {
        this.notificationService = notificationService;
    }

    save(): void {
        //...
        this.notificationService.sendMessage();
    }
}

키스하다.


Keep it simple, stupid


나야 좋지.이것은 간단한 응용 프로그램이다.Manter algo는 중요한 성별 차이, 책임 의식, 커뮤니티 조직과 사회복지 조직(Organization ço do código e tudo que seja benéfico nesse sentido)을 간소화했다.EU는 소프트웨어 개발 과정에서 소프트웨어를 사용할 것을 건의한다.

아그니


You Aren't Gonna Need It


익스트림 프로그래밍(Extreme Programming, 익스트림 프로그래밍)은 새로운 응용 프로그램을 개발하는 데 도움을 주는 기술이다.공사 분야에서 어떤 상호 관계도 없다. 특히 기술 분야에서 우리는 복잡한 해결 방안을 가지고 리우 경제 위기를 해결하고 미래에 차카와 다른 국가들을 위해 조건을 마련해야 한다.

마르다


Don't repeat yourself


DRYésobre não repetir código desnecessamente.그는 "우리는 능력 있는 사람, 지혜로운 사람, 능력 있는 사람이 필요하다."라고 말했다.

DDD


sigla-signi 도메인 드라이브 개발(Desenvolvimento orientdo A Dom Inio)O소프트웨어의 도미니오 델레아 델레아 델레아 델레아 델레아 델레아 델레아 델레아 델레아 델레아 델레아 델레아 델레아 델레아 델레아 델레아 델레아 델레아 델레아사전의 고려에서 소프트웨어의 구조 모델은 하나의 조직의 기초이고 독립된 조직이며 독립된 책임 체계이며 독립된 책임 체계이며 반영 형식의 소프트웨어 체계이다.arquitetura의 모델에서 많은 사람들이 프로젝트의 환경 문제에 흥미를 느낀다.

TDD


테스트 드라이브 개발(Desenvolvimento orientdo a Testes)은 일종의 방법학으로 기능적인 개발이며 기능적인 개발이자 실현이다.Ométodo는 escrever testes bastante Esc Ificos를 고려하여 Cegar na melhor vers Ivel Oposs Ivel을 재구성했습니다.이 날, 우리는 가장 빠른 속도와 가장 빠른 속도로 여러분을 위해 봉사할 것입니다.심, de fato, os testes Sas ão código, e como qualquer outro código, precisam de manuten ão, refatora ão 등. Porém, se Applicado da forma correta, com Structa, pode trazer Excellentes ganhos a médio/longo prazo.

세인트폴


이것은 이상이다. 제품과 품질 기준이다.이것은 매우 중요한vocèprecisa usar tudo이다. 이것은 가장 빠른 속도로bom소프트웨어를 생산하고ferramentas paraque seja poss Ivelescolher와melhores opèes de acordo coma situaèemque vocèse encontra를 가장 빠른 속도로 생산한다.이것은 매우 중요한 구성 부분으로 우리에게 커다란 이익을 가져다 줄 수 있다.
이소 투도 페소발.트넘 코티도 신탐은 환경 보호자로서 몇 가지 건의를 했고 피드백을 주었다.

참조:


https://khalilstemmler.com/articles/solid-principles/solid-typescript/
https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented-design
https://khalilstemmler.com/wiki

좋은 웹페이지 즐겨찾기