Taiwán diseño del sistema de comercio y el pensamiento --- Baño

Taiwán diseño del sistema de comercio y el pensamiento

Arquitectura del sistema

Este es el punto principal de la capa de acceso de servicio, en la arquitectura actual del sistema y no hay una capa de acceso al servicio. Pero pienso en el futuro, la capa de acceso de servicios que todavía hay muy necesario.

acceso al servicio capa de efecto

  1. efecto de recubrimiento. Debido a que las unidades de negocio dentro de la empresa para servir a múltiples líneas de negocio, desarrollo diario en respuesta a las diferentes necesidades de negocio, a menudo añadir un montón de conversión, la lógica de la interpretación en el servicio subyacente, introdujo una capa de acceso de servicio que podemos poner este código el acceso a la capa de servicio.
  2. el aislamiento de negocio. Cada línea de negocio dentro de la empresa tiene una escena única de su negocio, y que algunos llaman para el servicio es relativamente plana, y algunas empresas pueden centrarse en el brote en un momento determinado. A medida que la mesa no queremos una cierta escena o un error causado todas las operaciones comerciales no están disponibles, es posible que la capa de acceso para limitar los servicios comerciales actuales (programa principal es el foco parámetros Sentinal limitante).
  3. Fácil de gestionar la capacidad de salida externa. Los desarrolladores sólo tienen que escribir y mantener la documentación de la documentación de la interfaz de capa de acceso de interfaz en el desarrollo posterior. En segundo lugar, todo el desarrollador en Taiwán, siempre y cuando la salida externa de la capa de acceso de entender esas capacidades pueden tener una capacidad cognitiva en la tabla general, no se enfrentan a muchos de cada interfaz de servicio subyacente.

Aspectos destacados de comercio en Taiwán

En la estación de oficios de la construcción, o un negocio de diseño importante en Taiwán en realidad dos cosas:

  1. ¿Cómo proporcionar procedimiento de acceso razonable a disposición de la parte comercial. Deje que la parte comercial de la plena aplicación de su negocio, mientras que la posibilidad de acceder de forma rápida
  2. ¿Cómo lidiar con las diferencias en los sistemas de negocio de Taiwan para los diferentes procesos de negocio en negocio

Proceso de acceso

En el flujo principal de acceso de la figura:


En la primera página al usuario comprar bienes. Luego llame a la parte comercial de la interfaz, de presentar información y otros servicios adquiridos interfaz de estación de llamada fiesta para crear una única transacción, el número de orden de la transacción y se consiguen asociada con los datos de negocio, y el componente de pago luego de evocar universal del número de orden de la transacción.
Despertar componente de pago para pagar esta fiesta no se preocupan por la lógica de negocio, componente de pago? Interactuar directamente con el acuerdo de Taiwán.
Después del pago con éxito, las unidades de las órdenes de procesamiento de transacciones de lógica, la manipulación de la parte comercial después de devolución de llamada de finalización, a continuación, la lógica de negocio lado del negocio basado en un único proceso de transacciones en sí número de devolución de llamada.

procedimiento de acceso en el diseño y la evolución de hecho se encontraron algunos problemas:
inicialmente creada en el primer paso de la parte comercial no es visible datos de las solicitudes, que también causaron un gran número de sistemas de transacción órdenes datos no válidos, y más tarde optimizados para negociación órdenes, número de orden multiplexan número de transacción individual, que es transparente para el lado de los negocios, de hecho, ningún efecto.
Hay una devolución de llamada lado del negocio de procesamiento de pagos y la devolución de llamada este paso, inicialmente llamada sincrónica, que también causó un flujo inverso de la parte comercial del sistema depende del estado del pedido, cuando el lado del negocio del sistema falla, el estado del pedido no puede ser normal circulación.

Las diferencias en los negocios

Los dos servicio siguiente como un ejemplo, que se acaba de describir sobre los procesos, los procesos de negocio en la real puede ser más compleja.

Cuando la eliminación de las diferencias en los negocios, hay que analizar primero los diversos procesos de negocio, identificar el negocio más complejo como una muestra, que es un análisis de la lógica de propósito general, que es la lógica, hay una diferencia.
Ejemplos del centro comercial es probablemente el proceso más complejo, los miembros del proceso es más simple. De acuerdo con la figura podemos persistir en los nodos de datos de orden en dos diferencia de flujo,
pre-procesamiento antes de la orden persistente, post-procesamiento después de la orden persistencia.
Nos formar un solo componente para funciones lógicas de apartarse, y pre-tratamiento y post-procesamiento para crear diferentes componentes de acuerdo con el negocio de la cadena llamada.
Aquí es código de ejemplo:
En primer lugar, definimos el componente

public interface Processor<T, R> { /** * 执行内容 ,中断抛出{@link com.xxx.xxx.infrastructure.exception.ProcessorInterruptedException} * * @param context * @param result */ void process(T context, R result); /** * 触发调用下一个 Processor * * @param context * @param result */ void fireNext(T context, R result); /** * 检查是否执行该 Processor * * @param context * @param result * @return */ boolean check(T context, R result); } public abstract class AbstractProcessor<T, R> implements Processor<T, R> { private AbstractProcessor<T, R> next = null; public AbstractProcessor<T, R> getNext() { return next; } @Override public boolean check(T context, R result) { return true; } public void setNext(AbstractProcessor<T, R> next) { this.next = next; } public void invoke(T context, R result) { try { process(context, result); fireNext(context, result); } catch (ProcessorInterruptedException ex) { return; } catch (Exception ex) { log.error(ex.getMessage(), ex); throw ex; } } @Override public void fireNext(T context, R result) { if (next != null) { if (check(context, result)) { next.invoke(context, result); } else { if (next.getNext() != null) { next.getNext().invoke(context, result); } } } } } 

Construcción de montaje entonces definir cadena clase abstracta

public abstract class AbstractProcessorBuilder<T, R> { @Autowired protected AutowireCapableBeanFactory autowireCapableBeanFactory; protected AbstractProcessor<T, R> instance; @PostConstruct public void init() { initProcessor(); } public abstract void initProcessor(); public AbstractProcessor<T, R> build() { return instance; } public void addLast(AbstractProcessor<T, R> processor) { if (instance == null) { instance = autowired(processor); return; } AbstractProcessor<T, R> next = instance; while (next.getNext() != null) { next = next.getNext(); } next.setNext(autowired(processor)); } protected AbstractProcessor<T, R> autowired(AbstractProcessor<T, R> processor) { autowireCapableBeanFactory.autowireBean(processor); return processor; } } 

negocio de la cadena pre-convocatoria de los dos anteriores

@Component
public class StoreSubmitPreProcessorBuilder extends AbstractProcessorBuilder<SubmitOrderContext, ResultDTO<SubmitOrderResult>> { @Override public void initProcessor() { addLast(new CheckSubmitOrderNumProcessor()); addLast(new CheckItemBuyNumLimitProcessor()); addLast(new PaddingAddressProcessor()); addLast(new CheckDeliveryLimitProcessor()); addLast(new QuerySkuProcessor()); addLast(new CheckSkuProcessor()); addLast(new CalPromotionProcessor()); } } @Component public class PrimeSubmitPreProcessorBuilder extends AbstractProcessorBuilder<SubmitOrderContext, ResultDTO<SubmitOrderResult>> { @Override public void initProcessor() { addLast(new QuerySkuProcessor()); addLast(new CheckSkuProcessor()); addLast(new CalPromotionProcessor()); } } 

Simplificar la presentación del código de pedido:

        getSubmitPreProcessorBuilder(bizType).build().invoke(context, ret);
         if (!ret.isOk()) {
                return ret;
         }
         //.....

A través de este componente de la forma, podemos obtener una ProcessorBuilder diferente según diversos procesos de negocio para hacer frente a las diferencias.

estación de pensamiento

En Taiwán proporcionar no sólo interfaz de componentes de manera sencilla, los antecedentes de gestión tales como el comercio en Taiwán, también es necesario para proporcionar el orden, la visualización de datos de pedido, a través de la capacidad en Taiwán seguirá fortaleciendo, para que la oficina para centrarse más en su negocio.

la capacidad de Taiwán para proporcionar la promoción en curso, cuando la demanda planteada por un solo sentido de los negocios, como en la realización de sus historias de éxito se puede generalizar a otras empresas, por lo que otros negocios disfrutan de los dividendos del edificio de la estación, la promoción única constante, capacidad de retroalimentación continua en Taiwán será más fuerte.

Taiwán no es sólo en la arquitectura de negocio, sino también un marco de organización, única organización independiente para asegurar que los recursos no están inclinadas para generar un cierto negocio.

En Taiwán para construir de acuerdo a la situación real de las empresas, una visión clara está dispuesto a resolver el problema de las empresas correspondientes.

Consejos: de aquí en adelante también con referencia a ejemplares de negocio de servicio de ejemplo Jingdong, el código de ejemplo es también una modificación del código real

 

Arquitectura del sistema

Este es el punto principal de la capa de acceso de servicio, en la arquitectura actual del sistema y no hay una capa de acceso al servicio. Pero pienso en el futuro, la capa de acceso de servicios que todavía hay muy necesario.

acceso al servicio capa de efecto

  1. efecto de recubrimiento. Debido a que las unidades de negocio dentro de la empresa para servir a múltiples líneas de negocio, desarrollo diario en respuesta a las diferentes necesidades de negocio, a menudo añadir un montón de conversión, la lógica de la interpretación en el servicio subyacente, introdujo una capa de acceso de servicio que podemos poner este código el acceso a la capa de servicio.
  2. el aislamiento de negocio. Cada línea de negocio dentro de la empresa tiene una escena única de su negocio, y que algunos llaman para el servicio es relativamente plana, y algunas empresas pueden centrarse en el brote en un momento determinado. A medida que la mesa no queremos una cierta escena o un error causado todas las operaciones comerciales no están disponibles, es posible que la capa de acceso para limitar los servicios comerciales actuales (programa principal es el foco parámetros Sentinal limitante).
  3. Fácil de gestionar la capacidad de salida externa. Los desarrolladores sólo tienen que escribir y mantener la documentación de la documentación de la interfaz de capa de acceso de interfaz en el desarrollo posterior. En segundo lugar, todo el desarrollador en Taiwán, siempre y cuando la salida externa de la capa de acceso de entender esas capacidades pueden tener una capacidad cognitiva en la tabla general, no se enfrentan a muchos de cada interfaz de servicio subyacente.

Aspectos destacados de comercio en Taiwán

En la estación de oficios de la construcción, o un negocio de diseño importante en Taiwán en realidad dos cosas:

  1. ¿Cómo proporcionar procedimiento de acceso razonable a disposición de la parte comercial. Deje que la parte comercial de la plena aplicación de su negocio, mientras que la posibilidad de acceder de forma rápida
  2. ¿Cómo lidiar con las diferencias en los sistemas de negocio de Taiwan para los diferentes procesos de negocio en negocio

Proceso de acceso

En el flujo principal de acceso de la figura:


En la primera página al usuario comprar bienes. Luego llame a la parte comercial de la interfaz, de presentar información y otros servicios adquiridos interfaz de estación de llamada fiesta para crear una única transacción, el número de orden de la transacción y se consiguen asociada con los datos de negocio, y el componente de pago luego de evocar universal del número de orden de la transacción.
Despertar componente de pago para pagar esta fiesta no se preocupan por la lógica de negocio, componente de pago? Interactuar directamente con el acuerdo de Taiwán.
Después del pago con éxito, las unidades de las órdenes de procesamiento de transacciones de lógica, la manipulación de la parte comercial después de devolución de llamada de finalización, a continuación, la lógica de negocio lado del negocio basado en un único proceso de transacciones en sí número de devolución de llamada.

procedimiento de acceso en el diseño y la evolución de hecho se encontraron algunos problemas:
inicialmente creada en el primer paso de la parte comercial no es visible datos de las solicitudes, que también causaron un gran número de sistemas de transacción órdenes datos no válidos, y más tarde optimizados para negociación órdenes, número de orden multiplexan número de transacción individual, que es transparente para el lado de los negocios, de hecho, ningún efecto.
Hay una devolución de llamada lado del negocio de procesamiento de pagos y la devolución de llamada este paso, inicialmente llamada sincrónica, que también causó un flujo inverso de la parte comercial del sistema depende del estado del pedido, cuando el lado del negocio del sistema falla, el estado del pedido no puede ser normal circulación.

Las diferencias en los negocios

Los dos servicio siguiente como un ejemplo, que se acaba de describir sobre los procesos, los procesos de negocio en la real puede ser más compleja.

Cuando la eliminación de las diferencias en los negocios, hay que analizar primero los diversos procesos de negocio, identificar el negocio más complejo como una muestra, que es un análisis de la lógica de propósito general, que es la lógica, hay una diferencia.
Ejemplos del centro comercial es probablemente el proceso más complejo, los miembros del proceso es más simple. De acuerdo con la figura podemos persistir en los nodos de datos de orden en dos diferencia de flujo,
pre-procesamiento antes de la orden persistente, post-procesamiento después de la orden persistencia.
Nos formar un solo componente para funciones lógicas de apartarse, y pre-tratamiento y post-procesamiento para crear diferentes componentes de acuerdo con el negocio de la cadena llamada.
Aquí es código de ejemplo:
En primer lugar, definimos el componente

public interface Processor<T, R> { /** * 执行内容 ,中断抛出{@link com.xxx.xxx.infrastructure.exception.ProcessorInterruptedException} * * @param context * @param result */ void process(T context, R result); /** * 触发调用下一个 Processor * * @param context * @param result */ void fireNext(T context, R result); /** * 检查是否执行该 Processor * * @param context * @param result * @return */ boolean check(T context, R result); } public abstract class AbstractProcessor<T, R> implements Processor<T, R> { private AbstractProcessor<T, R> next = null; public AbstractProcessor<T, R> getNext() { return next; } @Override public boolean check(T context, R result) { return true; } public void setNext(AbstractProcessor<T, R> next) { this.next = next; } public void invoke(T context, R result) { try { process(context, result); fireNext(context, result); } catch (ProcessorInterruptedException ex) { return; } catch (Exception ex) { log.error(ex.getMessage(), ex); throw ex; } } @Override public void fireNext(T context, R result) { if (next != null) { if (check(context, result)) { next.invoke(context, result); } else { if (next.getNext() != null) { next.getNext().invoke(context, result); } } } } } 

Construcción de montaje entonces definir cadena clase abstracta

public abstract class AbstractProcessorBuilder<T, R> { @Autowired protected AutowireCapableBeanFactory autowireCapableBeanFactory; protected AbstractProcessor<T, R> instance; @PostConstruct public void init() { initProcessor(); } public abstract void initProcessor(); public AbstractProcessor<T, R> build() { return instance; } public void addLast(AbstractProcessor<T, R> processor) { if (instance == null) { instance = autowired(processor); return; } AbstractProcessor<T, R> next = instance; while (next.getNext() != null) { next = next.getNext(); } next.setNext(autowired(processor)); } protected AbstractProcessor<T, R> autowired(AbstractProcessor<T, R> processor) { autowireCapableBeanFactory.autowireBean(processor); return processor; } } 

negocio de la cadena pre-convocatoria de los dos anteriores

@Component
public class StoreSubmitPreProcessorBuilder extends AbstractProcessorBuilder<SubmitOrderContext, ResultDTO<SubmitOrderResult>> { @Override public void initProcessor() { addLast(new CheckSubmitOrderNumProcessor()); addLast(new CheckItemBuyNumLimitProcessor()); addLast(new PaddingAddressProcessor()); addLast(new CheckDeliveryLimitProcessor()); addLast(new QuerySkuProcessor()); addLast(new CheckSkuProcessor()); addLast(new CalPromotionProcessor()); } } @Component public class PrimeSubmitPreProcessorBuilder extends AbstractProcessorBuilder<SubmitOrderContext, ResultDTO<SubmitOrderResult>> { @Override public void initProcessor() { addLast(new QuerySkuProcessor()); addLast(new CheckSkuProcessor()); addLast(new CalPromotionProcessor()); } } 

Simplificar la presentación del código de pedido:

        getSubmitPreProcessorBuilder(bizType).build().invoke(context, ret);
         if (!ret.isOk()) {
                return ret;
         }
         //.....

A través de este componente de la forma, podemos obtener una ProcessorBuilder diferente según diversos procesos de negocio para hacer frente a las diferencias.

estación de pensamiento

En Taiwán proporcionar no sólo interfaz de componentes de manera sencilla, los antecedentes de gestión tales como el comercio en Taiwán, también es necesario para proporcionar el orden, la visualización de datos de pedido, a través de la capacidad en Taiwán seguirá fortaleciendo, para que la oficina para centrarse más en su negocio.

la capacidad de Taiwán para proporcionar la promoción en curso, cuando la demanda planteada por un solo sentido de los negocios, como en la realización de sus historias de éxito se puede generalizar a otras empresas, por lo que otros negocios disfrutan de los dividendos del edificio de la estación, la promoción única constante, capacidad de retroalimentación continua en Taiwán será más fuerte.

Taiwán no es sólo en la arquitectura de negocio, sino también un marco de organización, única organización independiente para asegurar que los recursos no están inclinadas para generar un cierto negocio.

En Taiwán para construir de acuerdo a la situación real de las empresas, una visión clara está dispuesto a resolver el problema de las empresas correspondientes.

Consejos: de aquí en adelante también con referencia a ejemplares de negocio de servicio de ejemplo Jingdong, el código de ejemplo es también una modificación del código real

Supongo que te gusta

Origin www.cnblogs.com/Leo_wl/p/12660385.html
Recomendado
Clasificación