O modelo do construtor é destinado à construção de objetos complexos. Por exemplo, um produto consiste em várias partes e cada parte pode ser produzida separadamente. Neste momento, o modelo do construtor pode ser usado para construir cada parte do produto pelo construtor e, em seguida, o diretor completa a montagem do produto final.
Características:
1. A divisão do trabalho é mais clara e a organização e a estrutura são separadas, o que pode controlar melhor a produção de produtos.
2. Fácil de expandir. Quando houver novas necessidades, basta implementar a desculpa do construtor.
Aplicações no desenvolvimento do nível corporativo e estruturas comumente usadas: Jmail
Composição: Categoria de produto, Builder Abstract, construtor, diretor.
Categoria de produto:
Public Class Product {private string Parte; // Uma parte do produto pode corresponder a uma classe privada String Partb no desenvolvimento real; // uma parte do produto pode corresponder a uma classe privada String Partc no desenvolvimento real; // uma parte do produto pode corresponder a uma classe privada Partc no desenvolvimento real;Builder abstrato:
// também pode ser uma classe abstrata Builder de interface pública {public void setParta (String PartA); public void setPartB (String Partb); public void setPartc (String Partc);}Classe de implementação do construtor:
public class BuilderImpl implementa o construtor {Produto Privado; public BuilderImpl () {Product = new Product (); } public void BuilderParta () {String Parte = new String (); // simular uma parte do método da fábrica para produzir o produto.SetParta (Parta); } public void BuilderPartB () {String partb = new String (); // simular uma parte do método da fábrica para produzir o produto.SetPartB (Partb); } public void setPartc () {string partc = new String (); // simular uma parte da produção do produto no método de fábrica product.setPartc (partc); } produto público getProduct () {return this.product; }}Categoria de diretor:
Diretor de classe pública {Private Builder B; Diretor público (construtor newb) {this.b = newb; } public void createBuilder (construtor b) {this.b = b; } public Product construtProduct () {B.BuilderParta (); B.BuilderPartB (); B.BuilderPartc (); }}Classe de teste:
classe pública Demo {public static void main (string [] args) {construtor b = new BuilderImpl (); Diretor D = New Diretor (); D.CreateBuilder (B); Produto P = C.ConstructProduct (); }}A partir do exemplo acima, não é difícil descobrir que, se implementarmos a classe do diretor, é inteiramente possível montar outro produto diferente, porque a classe do diretor controla a montagem do produto. Da mesma forma, se reimplementarmos a classe de construção abstrata, produtos completamente diferentes também poderão aparecer. Portanto, podemos descobrir que o modelo do construtor é mais abstrato e orientado a processos.
Comparado com o modelo abstrato de fábrica, não é difícil descobrir que os dois são surpreendentemente semelhantes, mas por que existem dois modelos de design diferentes? De fato, o foco está na complexidade e abstração do produto. O modelo do construtor é mais abstrato e complexo que o modelo abstrato de fábrica. Ou seja, os produtos que tratam do modelo do construtor são mais complexos do que os produtos que tratam da fábrica abstrata e, ao mesmo tempo, o processo de produção de produtos é mais longo e mais abstrato.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.