���f�B�A

�\�t�g�E�F�A�A�[�L�e�N�`���̏W�听�uClean Architecture�v�Ƃ�

5��ɂ킽���Ċe�\�t�g�E�F�A�A�[�L�e�N�`���̓����ɂ‚��ĉ�������B���ǁA�e�X�^�r���e�B�\�̂���A�[�L�e�N�`���͂ǂ�Ȃ̂��B�A�ڍŏI��ƂȂ�{�e�ŁA�e�X�g�ɋ����A�[�L�e�N�`���ɂ‚��Đ�������B

» 2020�N03��18�� 08��00�� ���J
[�΍� �M�G�C�f�W�^���n�[�c]

�@�\�t�g�E�F�A�J���ɂ����Ă��܂��܂ȃA�[�L�e�N�`������Ă���Ă��钆�ŁA�e�X�g�ɋ����A�[�L�e�N�`�����Љ��{�A�ڂł����A��5��̖{�e�ł́A�uClean Architecture�v�i�N���[���A�[�L�e�N�`���j�ɂ‚��ĉ�����܂��B

���ҏЉ�F�΍� �M�G

�f�W�^���E�}�W�b�N�E���{�ŃC���^�[�l�b�g�o�H����^�p�Ɋւ��A�I�[�v���\�[�X�E�F�A�Ōo�H�������������uGNU Zebra�v���J���B1999�NIP Infusion�������ݗ����ACTO�ɏA�C�B2009�NAccess CTO�A2015�N�A�v���b�N�X CTO���o�āA2018�N�f�W�^���n�[�c�z�[���f�B���O�XCTO�ɏA�C�B

�uClean Architecture�v�Ƃ́H

�@Clean Architecture�̓��o�[�g�EC�E�}�[�e�B�������񏥂����A�[�L�e�N�`���ł��B�}�[�e�B�����́u�A���N���{�u�v�Ƃ����ʏ̂ł��m���Ă��钘���ȃG���W�j�A�ŁA�uManifesto for Agile Software Development�v�i�A�W���C���\�t�g�E�F�A�J���錾�j�̒��҂̈�l�ł�����܂��B�܂��A���̑����X�̒���ł��m���Ă���A���݁A�����̐l���瑸�h����Ă���G���W�j�A�̈�l�Ƃ�����ł��傤�B

�@Clean Architecture�����ЂŔ��\���ꂽ�̂�2017�N9���B���̂��ߔ�r�I�V�����A�[�L�e�N�`�����Ǝv��ꂪ���ł����A�ŏ��Ƀ}�[�e�B�������u���O�L����Clean Architecture�Ɋւ���L�����������̂�2012�N8���ł���A���͈ӊO�ƌÂ��T�O�ł��B

�@2012�N�����́A�uMVC�v�ƁuMVP�v�̌�p�ɂ�����A�[�L�e�N�`���Ƃ��āuHexagonal Architecture�v�i�w�L�T�S�i���A�[�L�e�N�`���j��uOnionArchitecture�v�i�I�j�I���A�[�L�e�N�`���j�Ȃǂ������񏥂���Ă��܂����B�}�[�e�B�����́A�u�����̃A�[�L�e�N�`���ɂ͋��ʓ_������̂ł͂Ȃ����B���̋��ʓ_��1�‚ɂ܂Ƃ߂�Δėp�i�͂�悤�j�I�ȃA�[�L�e�N�`�����ł���̂ł͂Ȃ����v�ƍl���AClean Architecture�̍\�z���v���`���܂����B���������Ӗ��ł́AClean Architecture�́AMVC����n�܂����\�t�g�E�F�A�A�[�L�e�N�`���̏W�听�̈�‚Ƃ�����ł��傤�B

�@�}�[�e�B�����̃��j�[�N�ȓ_�́AClean Architecture�̋c�_�ɓ���O�ɁA�܂��́g�A�[�L�e�N�`���h���̂̑��݈Ӌ`�𖾊m�ɒ�`�������Ƃł��B

�u�\�t�g�E�F�A�A�[�L�e�N�`���̖ړI�́A���߂���V�X�e�����\�z�E�ێ炷�邽�߂ɕK�v�Ȑl�ނ��ŏ����ɗ}���邱�Ƃł���v

�u�K�v�ȘJ�͂����Ȃ��A�V�X�e���̃��C�t�^�C���S�̂ŒႭ�ۂ���Ă���Ȃ�΁A���̐݌v�͗D��Ă���B�t�ɁA�����[�X���ƂɘJ�͂�������Ȃ�A���̐݌v�͗D��Ă��Ȃ��B�ˁA�ȒP�ł���v

�o�T: Robert C.Martin,�p ���T,���� ���O. Clean Architecture�@�B�l�Ɋw�ԃ\�t�g�E�F�A�̍\���Ɛ݌v (Japanese Edition)

�@�u�R�X�g�E�J�͂��ŏ����ɗ}���遁�A�[�L�e�N�`���̑��݈Ӌ`�v�}�[�e�B�����͌����؂��Ă��܂��B����ȏ㖾�m�Ȓ�`�͂Ȃ��̂ł͂Ȃ����Ƃ������炢�͂����肵�Ă��܂��ˁB

�@����ɁAClean Architecture�ɂ͖��m�ȃ��[�������߂��Ă��܂��B�A�[�L�e�N�`���ɂ܂‚��c�_�ł́A���΂��Ό`����`�Ɋׂ�{���������������ɂȂ�܂����AClean Architecture�͍\���̐�����������⃋�[�����`���A���̃��[���ɂ̂��Ƃ��Ă��܂��܂ȋc�_���ł���悤�ɂȂ��Ă��܂��B

�@Clean Architecture�Œ񏥂���Ă����ȃ��[���͈ȉ���5�‚ɂȂ�܂��i�\1�j�B

�\1

�@����5�‚̃��[���̍����ɂ́u�~�̓����͉~�̊O�����Ăяo���Ȃ��v�Ƃ����u�ˑ����̃��[���v�����݂��Ă���A���̃��[��������Clean Architecture�ő�̓����Ƃ����܂��i�}1�j�B�u�ˑ����̃��[���v�����邱�Ƃʼn~�̓����ƊO���œƗ����Ď����ł��邽�߁ADB���uOracle�v����uMySQL�v�ɕς�����AUI��ύX������Ƃ��������Ƃ��e�ՂɂȂ�A����Ƀe�X�g�����ꂼ��Ɨ����Ď��s�ł���Ƃ������_������܂��B

�@����AClean Architecture�ׂ͍������������ނ��߁A���̃A�[�L�e�N�`���Ɣ�ׂ�ƃR�[�h�ʂ͑����Ȃ�X���ɂ���܂��B���ɁA�e���C���[�Ԃ̓C���^�t�F�[�X���`���Ď����ƌĂяo���̈ˑ��֌W�𕪗����邽�߁A����Ȃ�̘J�͂��K�v�ɂȂ�܂��B���̂��߃X�}�[�g�t�H���A�v���Ȃǂ̏��K�͂ȃ\�t�g�E�F�A�J���ɂ͂��܂�����Ă��炸�A�r�W�l�X�A�v���P�[�V�����̂悤�ɔ�r�I��K�͂ȃ\�t�g�E�F�A�����Ƃ�����ł��傤�B

�}1�@Clean Architecture�̃C���[�W�i�o�T�FThe Clean Architecture�j

�u�e�X�^�r���e�B�[�v����l����Clean Architecture

�@Clean Architecture�́A�u�e�X�g�”\���v�����[���̈�‚Ƃ��Ē�`���Ă���قǃe�X�g�̂��₷�����d�����Ă���A�[�L�e�N�`���ł��B���Ɂu�~�̓����͉~�̊O�����Ăяo���Ȃ��v�Ƃ����u�ˑ����̃��[���v�́A�e�X�g�̍ۂɔ��ɏd�v�ł��B�Ƃ͂����Ă��A���ۂɂ͂ǂ����Ă��~�̓�������O�����Ă΂Ȃ���΂Ȃ�Ȃ��P�[�X������ł��傤�B���̏ꍇ�ł�Clean Architecture�͂����܂ł����[���ɒ����ŁA�����ĉ~�̓�������O���𒼐ڌĂԂ��Ƃ͂��܂���B

�@���́A�}�[�e�B�����͂����������P�[�X���z�肵�đ΍�������Ă��܂��B������x�AClean Architecture�̃C���[�W�}�����Ă݂܂��傤�B

�}2�@Clean Architecture�̃C���[�W�i�o�T�FThe Clean Architecture�j

�@�C���[�W�}�̉E���i�}2�̓_�������j�Ɏ�����Ă���悤�ɁA�Ⴆ�Γ����́u���[�X�P�[�X�v����O���́u�v���[���^�[�v���Ăяo���ꍇ�́A���[�X�P�[�X�̓����ɂ���u���[�X�P�[�X�o�̓|�[�g�v���Ăяo���܂��B�����āA���́u���[�X�P�[�X�o�̓|�[�g�v�̎������v���[���^�[���ŗp�ӂ��邱�Ƃɂ��A���ʓI�ɉ~�̓�������O���̌Ăяo�����������܂��B

�@���̂悤�ɏ����Ɓg�Ƃ񂿁h�ʼn��������悤�ɕ������܂����A���͂��ꂪ�ˑ����̃��[�����������邽�߂̏d�v�ȃe�N�j�b�N�Ȃ̂ł��B�e�X�g�̊ϓ_������A�ӔC�̕����̊ϓ_������A���̎������@�͔��ɗL���ȕ��@���Ƃ����̂��ŋ߉��߂ĔF������Ă��܂��B

�@Clean Architecture���v���W�F�N�g�ɓK�p���ׂ����ǂ����́A�v���W�F�N�g�̋K�͂�\�t�g�E�F�A�̐����ɂ����܂����AClean Architecture�̊T�O�̒��ɂ͔ėp�I�Ɏg������̂��������񂠂�̂ŁA�v���W�F�N�g�Ŋ��p���Ă݂Ă͂������ł��傤���B

�e�X�g�ɋ����A�[�L�e�N�`���Ƃ́H

�@�A��5���ʂ��āuMVP�v�uMVVM�v�uFlux�v�uClean Architecture�v��4�‚̃A�[�L�e�N�`�����Љ�Ă��܂������A�{�A�ڂ̃e�[�}�ł���u�e�X�g�ɋ����A�[�L�e�N�`���v�͈�̂ǂ�Ȃ̂ł��傤���B�����v���Ɂu�e�X�g�̂��₷���v�Ƃ������_�ł́A���΂�Clean Architecture���Ǝv���܂��B��ɂ��q�ׂ��悤�ɁA�A�[�L�e�N�`���̃��[���Ƃ��āg�e�X�g�̂��₷���h���`���Ă���A�����܂Ńe�X�g���l�������A�[�L�e�N�`���͑��ɂ͂���܂���B

�@�������AClean Architecture�̓R�[�h�ʂ�������r�I�J�͂�������A�[�L�e�N�`���ł��B�e�X�g�����₷������Ƃ����Ĉ��Ղ�Clean Architecture��I�Ԃ͔̂����������ǂ��ł��傤�B�\�t�g�E�F�A�̎�ނ�K�͂ɂ���Ďg��������̂��x�X�g�ł��B���������Ӗ��ŁA�l�I�ɂ́A�ȉ��̂悤�Ȏg����������ԗǂ��̂ł͂Ȃ����ƍl���Ă��܂��B

�\2

�@�l�I�ɃA�[�L�e�N�`���͂����o��������Ɗ����Ă��܂��B�V���ȃA�[�L�e�N�`�������܂��܂ł͂���4�‚�p�r�ƋK�͂ɉ����Ďg�������Ă����̂��ǂ��̂ł͂Ȃ��ł��傤���B

Copyright © ITmedia, Inc. All Rights Reserved.

����o�^�i�����j

���i�J�^���O��Z�p�����A��������ȂǁAIT�����̉ۑ�����ɖ𗧂Ž������ȒP�ɓ���ł��܂��B