-

   rss_rss_hh_new

 - e-mail

 

 -

 LiveInternet.ru:
: 17.03.2011
:
:
: 51

:


. ?

, 22 2017 . 18:21 +
( ), . , , . .

, . , , .

, , .

image


, , . : ?

. , , , . : 8:15 ( ) ( ). 18:00 ( ) ( ). : , 8 .

, . , . , , .

150 .. . , ?

, .. . , , .. . . , , , , 5 . , ?

:

  • , , .
  • ,
  • , ,
  • ..

. , .. , , .

, .

, cognitive solution Internet of Things.


, , (waterfall, rup, scrum, ). , .. , .

, ,


Java Developer, java. .

, ?

, , , , . , , .. , . , . , : , !

, . , , .

? , , , Spring Framework. , Spring Cloud , .

API Gateway, Config Service, Message Broker, Docker, Workflow, Rule Engine .

.
  • Domain Driven Design
  • Functional Driven


Domain Driven Design , . : , , . Medicine . MedicineService. .. .

Functional Driven , , , .

, , . , , ? , , .

, , .

, . , , .

. Car. Car . . , , , ? ? ? , , ? ! , .

Vehicle

 public abstract class Vehicle {
.
   protected String model;
   protected int wheelNumber;
   protected Date manufactureYear;
   protected EngineType engineType; 
   protected Producer producer;
}

Vehicle, :

public class Car extends Vehicle {
   public Car() {
       wheelNumber = 4;
   }
}

, :

public class Bicycle extends Vehicle {
 
   public Bicycle() {
       wheelNumber = 2;
   }
}

. , : , . Customer

public class Customer {
   private String firstName;
   private String lastName;
   private Date birthDay;
}

, , .

public class Contract {
   private long customerId;
   private long vehicleId;
}

Vehicle , Customer Contract. VehicleService, ContractService CustomerService.

'' ''?
, ? . ?

, , . , , , .

, , , : , ?

, . , . , . , // . <..censored..>

.

. , meetup . , ,

( pom.xml docker-maven-plugin) dockerfile.

docker-compose, docker-compose.yml.

.env . . Windows 7 MySQL.

?


:

  • .



:

, .

, , : , , . , , , . , , , .

, 100% , , .


: . : , . , , , . ? , . .


, , ? . .

VehicleService .

image

Scooter . , :

image

Scooter VehicleService, , , . ? , , ..? ?

, , . VehicleType.

public class VehicleType {
    private String name;
    private List properties;
    .
}

VehicleType VehicleProperty:

public class VehicleProperty {
   private String name;
   private T value;
   private String description;
..
}

Vehicle:

public class Vehicle {
  private VehicleType vehicleType ;
  private List customProperties;
   ...
}

, , VehicleType Scooter:

VehicleProperty wheelNumberProperty = new VehicleProperty("wheelNumber", 2, "number of wheels");
.
VehicleType scooterType = new VehicleType("Scooter");
 scooterType.addProperty( wheelNumberProperty);
..

:

Vehicle scooter1 = new Vehicle(scooterType);
.. 

VehicleService.

image

? . ? , .. .

business case
. .

. . . , , . : BC? , ? : 2 , , ( ), .. , . , , . , .

: ? , , . , : Business case? , : 20-30 ( , , ), , .

: , business case ?
, business case, ?

. , VehicleService , ( ), . .. , . , . ? VehicleService , .

, . , , . , , .

, , VehicleService . , , . , , . ? VehicleService ?

, .. , .. . , , 100% . .

, , . , , . , . ? , . , .

, . . .
, , , .. :

  • Car
  • Bicycle
  • Scooter
  • Traktor

? VehicleTypesService, , . ? , . , VehicleTypesService .

. VehicleTypesService . , , , . , , , . ?

. Vehicle EngineType.

public abstract class Vehicle {
   ...
   protected EngineType engineType;
 

EngineType enum:

  • Gas
  • Diesel
  • Elektro

: ?

EngineType EngineType ( 99% )?

public abstract class Vehicle {
   ...
   protected List engineTypes;
 

enum, Gibrid?

, , ?

, ?

EngineType : ? , . , , (.. ), .

, , , , . ( ). . : ( ) backenda frontenda?

? : , , ? .


, , . .. :
,
, 12345 01.01.2017 Audi Q4
...... ...... ...... ......

: CustomerService, VehicleService ContractService. ? , ?

image

.

, !
. ? : . .

: ? , :

  1. . , , , . , . .
  2. , , . , , , . .

, (, , ) . , , , .

. , . , , , . , , , . , , , .

. ( ) . , , , , .

. , : , ? , , . , . , .

, , , . , .

, , , . , . , , , . , , , . , , , , . , , .

.

, , , , . , , .

, , , , . , , .. . , .

Sprint Review , , . : , event, http request? : , . , . , , , .


- , ? /? , ?

, , .. .

.


, ,

  • , API Gateway
  • , Service Discovery
  • , Config Service

.
Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/331104/

:  

: [1] []
 

:
: 

: ( )

:

  URL