-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
DP01 - chore(app): Se crea convencion del proyecto
- Loading branch information
Stephano Apiolaza
committed
Nov 20, 2017
0 parents
commit 8548786
Showing
20 changed files
with
813 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
# Customer | ||
!.gitattributes | ||
!.editorconfig | ||
|
||
# Compiled class file | ||
*.class | ||
|
||
# Log file | ||
*.log | ||
|
||
# BlueJ files | ||
*.ctxt | ||
|
||
# Mobile Tools for Java (J2ME) | ||
.mtj.tmp/ | ||
|
||
# Package Files # | ||
*.war | ||
*.ear | ||
*.zip | ||
*.tar.gz | ||
*.rar | ||
|
||
# Gradle | ||
build/ | ||
|
||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml | ||
hs_err_pid* | ||
|
||
# folder | ||
|
||
*.project | ||
*.settings | ||
target/ | ||
|
||
.*.jar | ||
.*.target | ||
production.zip | ||
# npm | ||
node_modules/ | ||
|
||
#typings | ||
typings/ | ||
|
||
# -- Editores ----------------------------------------- | ||
|
||
# bower | ||
bower_install/ | ||
|
||
# vim | ||
.*.sw[a-z] | ||
*.un~ | ||
Session.vim | ||
.netrwhist | ||
|
||
# jetbrains | ||
.idea/ | ||
*.iml | ||
|
||
# sublimetext | ||
/*.sublime-project | ||
*.sublime-workspace | ||
|
||
# -- Sistemas Operativos ------------------------------ | ||
# Windows | ||
Thumbs.db | ||
ehthumbs.db | ||
Desktop.ini | ||
$RECYCLE.BIN/ | ||
|
||
# Linux | ||
.* | ||
!.gitignore | ||
!.htaccess | ||
*~ | ||
|
||
# Mac OS X | ||
.DS_Store | ||
.AppleDouble | ||
.LSOverride | ||
Icon | ||
._* | ||
.Spotlight-V100 | ||
.Trashes | ||
bin |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# 0.1.0(19-11-2017) | ||
|
||
### Features | ||
|
||
* **chore**: Se crea convencion del proyecto. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
# Contribudores Codigo de Conducta | ||
|
||
Como contribudores, mantenedores de este proyecto y en el interes de introducirse en los **patrones de diseño**, | ||
Hemos de esperar el respeto entre todos quienes contribuyan al proyecto, queremos una comunidad abierta y acogedora. | ||
Nos comprometemos a resolver las issues o bugs encontrados a traves del sistema de reportes. | ||
Publicar solicitudes de caracteristicas, actualizar documentacion, enviar solicitudes de parches y otras actividades. | ||
|
||
Estamos comprometidos a hacer de la participacion en este proyecto una experiencia libre de acoso para todos, | ||
independientemente del nivel de experiencia, genero, identidad y expresion de genero, orientacion sexual, | ||
discapacidad, apariencia personal, tamanno corporal, raza, etnia, edad, religion o nacionalidad. | ||
|
||
Ejemplos de comportamiento inaceptable de los participantes incluyen: | ||
|
||
* El uso de lenguaje o imagenes sexualizadas | ||
* Ataques personales | ||
* Trolling o comentarios insultantes / despectivos | ||
* Acoso publico o privado | ||
* Publicar informacion privada de otros, como direcciones fisicas o electronicas, sin permiso explicito | ||
* Otra conducta poco etica o poco profesional. | ||
|
||
Los mantenedores del proyecto tienen el derecho y la responsabilidad de eliminar, editar o | ||
rechazar comentarios, comisiones, codigos, ediciones wiki, problemas y otras contribuciones que no | ||
estan alineadas con este Codigo de Conducta. Al adoptar este Codigo de Conducta, | ||
los responsables de los proyectos se comprometen a aplicar de manera justa y | ||
consistente estos principios a todos los aspectos de la gestion de este proyecto. | ||
Los mantenedores de proyectos que no sigan o apliquen el Codigo de Conducta pueden ser eliminados | ||
permanentemente del equipo del proyecto. | ||
|
||
|
||
Ejemplos de comportamiento inaceptable de los participantes incluyen: | ||
|
||
* El uso de lenguaje o imagenes sexualizadas | ||
* Ataques personales | ||
* Trolling o comentarios insultantes / despectivos | ||
* Acoso publico o privado | ||
* Publicar informacion privada de otros, como direcciones fisicas o electronicas, sin permiso explicito | ||
* Otra conducta poco etica o poco profesional. | ||
|
||
Los mantenedores del proyecto tienen el derecho y la responsabilidad de eliminar, editar o rechazar comentarios, comisiones, codigos, ediciones wiki, problemas y otras contribuciones que no estan alineadas con este Codigo de Conducta. Al adoptar este Codigo de Conducta, los responsables de los proyectos se comprometen a aplicar de manera justa y consistente estos principios a todos los aspectos de la gestion de este proyecto. Los mantenedores de proyectos que no sigan o apliquen el Codigo de Conducta pueden ser eliminados permanentemente del equipo del proyecto. | ||
|
||
Este codigo de conducta se aplica tanto en los espacios del proyecto como en los espacios publicos cuando un individuo esta representando el proyecto o su comunidad. | ||
|
||
Los casos de comportamiento abusivo, acosador o de otro modo inaceptable pueden ser reportados abriendo un problema o poniendose en contacto con uno o mas de los mantenedores del proyecto. | ||
|
||
Este codigo de conducta se aplica tanto en los espacios del proyecto como en los espacios publicos | ||
cuando un individuo esta representando el proyecto o su comunidad. | ||
|
||
Los casos de comportamiento abusivo, acosador o de otro modo inaceptable pueden ser reportados abriendo un problema o | ||
poniendose en contacto con uno o mas de los mantenedores del proyecto. | ||
|
||
Este Codigo de Conducta esta adaptado del [Pacto del Colaborador] (http://contributor-covenant.org), version 1.2.0, disponible en [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
## Quieres contribuir con algun codigo? | ||
|
||
Siempre estamos buscando contribuciones de calidad y estaremos encantados de aceptar sus Solicitudes de Pull siempre y | ||
cuando se adhieran a algunas reglas basicas: | ||
|
||
* Asegurese de que su contribucion encaja bien en el contexto del proyecto: | ||
* Estamos apuntando a una arquitectura orientada a micro-servicios, donde cada funcionalidad debe ser micro y atomica con respecto al sistema; | ||
* Se debe seguir las converguencias de calidad de sonarqube. | ||
* Asegurese de que esta enviando un codigo de calidad, especificamente asegurese de que: | ||
* Los servicios web tiene pruebas acompannantes y todas las pruebas estan pasando correctamente. | ||
* Sus commits se ajustan a las convenciones establecidas | ||
[aqui](https://github.com/stevemao/conventional-changelog-angular/blob/master/convention.md). | ||
* Recuerde mantener los cambios en [CHANGELOG.md](CHANGELOG.md), siempre y cuando sea de tipo feat o fix. | ||
|
||
**NOTA:**: Se ha modificado la convencion para adecuarla a la banca: | ||
``` | ||
<project> - <type>(scope): title | ||
``` | ||
* **project**: proyecto asociado por el cual se gatilla el commit | ||
* **type**: ajustarse a [convencion](https://github.com/stevemao/conventional-changelog-angular/blob/master/convention.md) | ||
* **(scope)**: contexto que ha sufrido el cambio | ||
* **title**: debe ser conciso | ||
|
||
**Ej:** <code>DP01 - chore(app): Se genera convencion del proyecto</code>, **se debe respetar espacios, guion y dos puntos, sino el commit sera rechazado por el hooks configurado** | ||
|
||
### Test | ||
|
||
Las pruebas unitarias deben ser escritas con la siguiente nomenclatura (**recordar un assert por test y hacer pruebas mediante mocks, evitar si es posible el uso de @Autowired**) : | ||
``` | ||
public class NombreClaseTest | ||
``` | ||
|
||
Donde **NombreClase** es la clase evaluar y este debe estar contenido al mismo nivel de paquete en la carpeta **test**. Por otro lado, la convencion de los nombres de los metodos debe ser: | ||
``` | ||
@Test | ||
public void nombreMetodo_accion_modificador | ||
``` | ||
|
||
* **nombreMetodo**: Este debe escribirse igual al metodo a evaluar. | ||
* **accion**: Utilizar estandar **isValueRight**, **isNotNull**, etc.. donde es la accion que se espera que haga el test. | ||
* **modificador**: Si la accion necesita un nombre secundario este es el elemento para hacerlo, evita duplicidad de nombre en los metodos. | ||
|
||
Cualquier sugerencia, pueden hacerla al Equipo de @Evaluacion de Credito, Scotiabank 2017. | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
<p align="center"> | ||
|
||
<img src="./documentation/assets/images/rubick-cubo-gold.jpg" alt="Guia Patrones de Diseno" width=72 height=72 /> | ||
|
||
<h3 align="center">Guía Patrones de Diseño</h3> | ||
|
||
<p align="center"> | ||
En la actualidad es una **obligación** manejar los patrones de diseño para introducirse de forma | ||
avanzada en la programación, por esta razón este proyecto te introducirá a fondo en los patrones | ||
GOF (Gang of Four) para que puedas crear tus propias arquitecturas. | ||
</p> | ||
|
||
</p> | ||
|
||
## Tabla de contenidos | ||
|
||
* [Tipos de Patrones de Diseño](#Tipos de Patrones de Diseño) | ||
* [Como instalar el Proyecto](#Como instalar el Proyecto) | ||
* [Changelog](#Changelog) | ||
* [Contribuir al proyecto](#Contribuir al proyecto) | ||
* [Crees que haz encontrado un bug?](#Crees que haz encontrado un bug?) | ||
* [Codigo de Conducta](#Codigo de Conducta) | ||
|
||
## Tipos de Patrones de Diseño | ||
|
||
Gof ha estimado 3 tipos, estos son: | ||
|
||
* **Patrones de creación**: utilizados para crear objetos. | ||
* **Patrones estructurales**: su objetivo es desacoplar las interfaces, clases y objetos. | ||
* **Patrones de comportamiento**: se centran en la comunicación de clases y objetos. | ||
|
||
## Patrones Creacionales | ||
|
||
Si deseas crear objetos puedes basarte en estos: | ||
|
||
### Clases | ||
|
||
* **Factory Method** | ||
|
||
### Objetos | ||
|
||
* **Abstract Factory** | ||
* **Builder** | ||
* **Prototype** | ||
* **Singleton** | ||
|
||
## Patrones Estructurales | ||
|
||
### Objetos | ||
|
||
* **Adapter** | ||
* **Bridge** | ||
* **Composite** | ||
* **Decorator** | ||
* **Flyweight** | ||
* **Facade** | ||
* **Proxy** | ||
|
||
## Patrones Comportamiento | ||
|
||
### Clases | ||
|
||
* **Interpreter** | ||
* **Template Method** | ||
|
||
### Objetos | ||
|
||
* **Chain of Responsability** | ||
* **Command** | ||
* **Iterator** | ||
* **Mediator** | ||
* **Memento** | ||
* **Observer** | ||
* **State** | ||
* **Strategy** | ||
* **Visitor** | ||
|
||
## Como instalar el Proyecto | ||
|
||
Solo importalo como un proyecto de gradle ( Build Managment System, en pocas palabras maneja las dependencias y tareas de compilacion), para mayor información ver el archivo [SETUP.md](Setup.md) | ||
|
||
## Changelog | ||
|
||
Todo cambio es registrado en este archivo [CHANGELOG.md](Changelog.md), utilízalo en tus proyectos, no lo olvides. | ||
|
||
## Contribuir al proyecto | ||
|
||
Por favor lee [CONTRIBUTING.md](CONTRIBUTING.md) archivo con guias de colaboracion. | ||
|
||
## Crees que haz encontrado un bug? | ||
|
||
Por favor deja constancia en [issues](https://github.com/stephanoapiolaza/dessign-pattern/issues) del repositorio en git | ||
y realizaremos un seguimiento en conjunto. | ||
|
||
## Codigo de Conducta | ||
|
||
Por favor lee este articulo [Code of Conduct](CODE_OF_CONDUCT.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
## Como instalar el Proyecto | ||
|
||
El proyecto no tiene como finalidad explicar el uso de gradle, pero haz de tener en cuenta que la estructura del proyecto | ||
se ha construido para que sea lo más sencillo posible representar el uso de un patron de diseño. | ||
|
||
|
||
``` | ||
dessign-pattern/ | ||
├── abstract-factory/ | ||
│ ├── src | ||
│ ├── main | ||
│ ├─ java | ||
│ ├─ Main (Ejecuta el patron de diseno y muestra por consola) | ||
│ ├─ pojo (Clases setter y getter para la creacion de objetos) | ||
│ ├─ custom (N Paquetes para ordenar clases para representación del patron) | ||
│ ├── build.gradle | ||
└── pattern#n/ | ||
│ ├── src | ||
│ ├── main | ||
│ ├─ java | ||
│ ├─ Main (Ejecuta el patron de diseno y muestra por consola) | ||
│ ├─ pojo (Clases setter y getter para la creacion de objetos) | ||
│ ├─ custom (N Paquetes para ordenar clases para representación del patron) | ||
│ ├── build.gradle | ||
``` | ||
|
||
**Lease pattern#n como los 23 patrones de diseño a representar en el proyecto** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
description = 'The Abstract Factory Example to Learn' | ||
|
||
dependencies { | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
/* ============================================================================ | ||
This file contains the configurations for | ||
This Project | ||
============================================================================ | ||
Included from: "${rootProject.projectDir}/build.gradle" | ||
============================================================================ | ||
*/ | ||
subprojects { | ||
|
||
group = "com.sapiolaza.dessignpattern" | ||
// No se modifica versionn del proyecto, hasta externalizar en nexus o artifactory | ||
version = "0.1.0" | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
/* ============================================================================ | ||
This file contains the configurations for | ||
Dependencies | ||
============================================================================ | ||
Included from: "${rootProject.projectDir}/build.gradle" | ||
============================================================================ | ||
*/ | ||
subprojects { | ||
|
||
dependencies { | ||
// https://mvnrepository.com/artifact/junit/junit | ||
testCompile group: 'junit', name: 'junit', version: '4.12' | ||
} | ||
|
||
} |
Oops, something went wrong.