"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Pequeña aplicación limpia

Pequeña aplicación limpia

Publicado el 2024-08-06
Navegar:309

Small Clean Application

Este proyecto es un conjunto de clases para gestionar la inyección de dependencias de la parte de la aplicación de una aplicación de arquitectura limpia,
independientemente del framework utilizado.

Git: https://git.small-project.dev/lib/small-clean-application
Empaquetador: https://packagist.org/packages/small/clean-application

Instalar

composer require small/clean-application

Parámetros

Los parámetros se administran para inyectarlos automáticamente en el constructor UseCase.

Puedes configurar parámetros a través del objeto estático de fachada:

\Small\CleanApplication\Facade::setParameter('test', [
    'host' => 'http://clean.com',
    'port' => 80
]);

También puedes conseguirlos por la fachada :

echo \Small\CleanApplication\Facade::getParameter('test.host');

Producción :

http://clean.com

Clase de caso de uso

caso sencillo

Un caso de uso es una materialización de clase de un caso de uso que implementa Small\CleanApplication\Contract\UseCaseInterface.

Por ejemplo, aquí se muestra simplemente un caso de uso que devuelve una cadena:

Puedes usarlo usando fachada :

use Small\CleanApplication\Test\Feature\Fixture\UseCase\TestUseCase;
use \Small\CleanApplication\Test\Feature\Fixture\UseCase\TestRequest;

echo \Small\CleanApplication\Facade::execute(TestUseCase::class, new TestRequest());

Producción :

a

Inyectar otro caso de uso en su caso de uso

Puedes inyectar otro caso de uso en el constructor de casos de uso:

getBefore() . $this->testUseCase->execute($request)->getStatus()
        );

    }

}

La propiedad testUseCase se creará automáticamente como objeto TestUseCase.

Inyectar parámetros en su caso de uso

Puedes inyectar parámetros en tu caso de uso escribiendo y nombrando propiedades en el constructor de tu caso de uso:

testUseCase_param . $request->getBefore() . $this->testUseCase->execute($request)->getStatus()
        );

    }

}

Las claves de matriz separadas del subrayado ('_') de la estructura de parámetros. Aquí hay un ejemplo que coincide con
$testUseCase_param:

\Small\CleanApplication\Facade::setParameter('testUseCase', ['param' => 'p']);

Interfaces

Tres interfaces estructuran tu código:

  • Small\CleanApplication\Contract\UseCaseInterface: todos sus casos de uso deben implementar esta interfaz
  • Small\CleanApplication\Contract\Request: todas sus solicitudes de casos de uso deben implementar esta interfaz
  • Small\CleanApplication\Contract\Response : toda la respuesta de su caso de uso debe implementar esta interfaz

Aquí está nuestra clase de solicitud de ejemplo TestDependency:

before;

    }

}

Y su interfaz :

Y aquí está la implementación de la respuesta:

status;
    }

}

Y su interfaz :

Declaración de liberación Este artículo se reproduce en: https://dev.to/sebk69/small-clean-application-4c1c?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3