�@ | �@ |
�A��
|
|
Page1
Page2
|
�f�U�C���p�^�[���K���ɕK�v�ȃI�u�W�F�N�g�w���v�̊�{
�@�u�f�U�C���p�^�[���͋��ȏ�������ǂ�Ŋw�Ԃ��̂ł͂Ȃ��B���H��ʂ��ė�������K�v������v
�@�f�U�C���p�^�[�����K������ł��ǂ����@�́A���ۂɎg���Ă݂邱�Ƃł���B���H��ʂ��Ċw�Ȃ���A�����Đg�ɕt���Ȃ����낤�B�������A�f�U�C���p�^�[���͈�ʓI�ɃI�u�W�F�N�g�w���v�ɓ��������p�^�[���ł���A��݂����Ɏg���Ă݂��Ƃ���ŗ������������p�^�[��������B�܂��̓I�u�W�F�N�g�w���v�̊�{�𗝉����A�e�f�U�C���p�^�[�����ǂ̂悤�ɗǂ��v�Ȃ̂��f�ł���悤�ɂȂ��Ă����ׂ����B
���I�u�W�F�N�g�ւ̐ӔC���蓖�Ă̊�{�����uGRASP�p�^�[���v
�@�u�I�u�W�F�N�g�w���v�̊�{�Ƃ́A�K�ȃN���X�ɓK�ȐӔC�����蓖�Ă邱�Ƃł���v
�@�����ł����ӔC�Ƃ́A�N���X�����炩�̏��������s����ӔC�i���s�ӔC�j�ƁA�N���X��������c������ӔC�i���c���ӔC�j�̂��Ƃł���B
�@�ł́A�ǂ̂悤�ȕ��j�Ɋ�Â��ĐӔC�����蓖�Ă�悢�̂ł��낤���B�����m��ɂ́A�I�u�W�F�N�g�v����ѐӔC���蓖�Ă̊�{�������p�^�[���̌`���ŋL�q�����uGRASP�p�^�[���v���ǂ��w�j�ƂȂ�B
�@GRASP�p�^�[���́A�N���[�O�E���[�}�����ɂ�鏑�Ёw���HUML�\�\�p�^�[���ɂ�铝��v���Z�X�K�C�h�x�i�ȍ~�A���Ёw���HUML�x�j�̒��ŁA�ȉ��̂悤�ɐ�������Ă���B
GRASP�́AGeneral�i�ėp�jResponsibility�i�ӔC�jAssignment�i���蓖�ājSoftware�i�\�t�g�E�F�A�jPatterns�i�p�^�[���j��\��������ł��B�I�u�W�F�N�g�w���\�t�g�E�F�A�̐v�𐬌��ɓ����ɂ͂����̌����́u�����v�igrasping�j���d�v�ł��邱�Ƃ�\�����߂ɁA���� GRASP �Ƃ������O���I��܂����B |
�@GRASP�p�^�[���Ɋ܂܂�Ă���e�p�^�[���́A�ȉ��Ɏ����Ă���悤�ɁA���ꂼ�ꂪ�V���v���Ȍ�������ŁA�n�������I�u�W�F�N�g�w���J���҂ł���A���̖��O�͒m��Ȃ������Ƃ��Ă��A��{�����Ƃ��Ė��ӎ��̂����ɓK�p���Ă�����̂��肾�낤�B
�@�uGoF�̃f�U�C���p�^�[���v�̑������AGRASP�p�^�[���Ɋ܂܂�Ă���u�������p�^�[���v�u�Ԑډ��p�^�[���v�u�����ˋp�^�[���v�u�o���G�[�V�����h��p�^�[���v�ȂǂɊ�Â��Ă���B�O���̋L���ŏЉ��State�p�^�[���̏�ԃI�u�W�F�N�g�́u�����ˋp�^�[���v�Ɋ�Â����X��̃N���X�ł���A���̐U�镑���̕ω��́u�������p�^�[���v�Ɋ�Â��Ă���B���̗Ⴉ���������悤�ɁAGRASP�p�^�[���̓f�U�C���p�^�[���̃r���f�B���O�E�u���b�N�ƂȂ鑶�݂Ȃ̂ł���B
�@����GRASP�p�^�[���̊�{�����ɖڐV�������o����悤�ł���A�f�U�C���p�^�[�����w�K����O�ɁAGRASP�p�^�[���𗝉����邱�Ƃ���n�߂Ă��炢�����B�ȉ��ɏ��Ёw���HUML�x�ɋL�ڂ���Ă���9��GRASP�p�^�[�����Љ��B
�p�^�[���� | ��� | ������ |
���G�L�X�p�[�g�iInformation Expert�j | �N���X�̐ӔC���蓖�ĂɊւ���ł���ʓI�Ȍ����͉��� | �ӔC�𐋍s���邽�߂ɕK�v�ȏ���ێ����Ă���N���X�ɑ��ĐӔC�����蓖�Ă� |
�����ҁiCreator�j | �N���X�̃C���X�^���X������ӔC�́A�ǂ̂悤�ȃN���X�Ɋ��蓖�Ă�ׂ��� | �E��������N���X���W��A�܂��͕�܂���N���X�ɑ��ĐӔC�����蓖�Ă� �E��������N���X�ړI�Ɏg�p����N���X�ɑ��ĐӔC�����蓖�Ă� �E��������N���X�����������邽�߂ɕK�v�ȏ��������Ă���N���X�ɑ��ĐӔC�����蓖�Ă� |
���ÏW���iHigh Cohesion�j | ���G�����y�����A�R���g���[�����₷�����邽�߂ɂ́A�ǂ̂悤�ɂ���悢�� | �ÏW�x�i�N���X�Ɋ܂܂��@�\���̂܂Ƃ܂�j�������Ȃ�悤�ɐӔC��z�u����i�ÏW�x�ɂ��ďڂ����͌�q����j |
�a�������iLow Coupling�j | �N���X�Ԃ̈ˑ�����Ⴍ���A�ύX�e�Ր������コ���邽�߂ɂ́A�ǂ̂悤�ɂ���悢�� | �����x�i�ق��̃N���X�Ƃ̌��ѕt���̋����j���Ⴍ�Ȃ�悤�ɐӔC��z�u����i�����x�ɂ��ďڂ����͌�q����j |
�R���g���[���iController�j | �V�X�e���E�C�x���g����������ӔC�́A�ǂ̂悤�ȃN���X�Ɋ��蓖�Ă�ׂ��� | �V�X�e���E�C�x���g�E���b�Z�[�W��������菈�������肷��ӔC�́A�R���g���[���E�N���X�Ɋ��蓖�Ă�B�R���g���[���E�N���X�̌��Ƃ��āA�V�X�e���S�̂܂��̓T�u�V�X�e����\������N���X�A�V�X�e���E�C�x���g���쓮���郆�[�X�P�[�X��\������N���X�Ȃǂ����� |
�������iPolymorphism�j | �I�u�W�F�N�g�̐U�镑�����^�i�N���X�j�ɂ���ĕω�����悤�ȏꍇ�́A�ǂ̂悤�ɂ���悢���B�܂��A�V���ȐU�镑����e�Ղɒlj��ł���悤�ɂ���ɂ́A�ǂ̂悤�ɂ���悢�� | �I������U�镑�����N���X�ɂ���ĕω�����ꍇ�́A�����̃N���X�ɑ��ă|�����[�t�B�b�N�ȑ�����s���A�N���X���ƂɈقȂ�U�镑���̂��߂̐ӔC�����蓖�Ă� |
�Ԑډ��iIndirection�j | �N���X���m�����ړI�Ɍ������Ȃ��悤�ɂ���ɂ́A�ǂ̂悤�ȃN���X�ɐӔC�����蓖�Ă�悢���B�܂��A�N���X���m�����ړI�Ɍ������Ȃ��悤�ɃN���X�������s���ɂ́A�ǂ̂悤�ɂ���悢�� | 2�ȏ�̃N���X�𒇉��悤�ȊԐړI�ȃN���X�����A���̃N���X�ɑ��ĐӔC�����蓖�Ă� |
�����ˋiPure Fabrication�j | �ÏW�x�������A�����x��Ⴍ���������A���G�L�X�p�[�g�E�p�^�[���Ɋ�Â��Ė��̈���̃N���X�ɐӔC�����蓖�Ă邱�Ƃ��s�K�ȏꍇ�́A�ǂ̂悤�ȃN���X�ɐӔC�����蓖�Ă�悢�� | ���̈�̊T�O�ɂ͊܂܂�Ȃ��l�H�I�ȕX��̃N���X��p�ӂ��A���̃N���X�ɑ��Č��肳�ꂽ�^�X�N�����s���邽�߂̐ӔC�����蓖�Ă� |
�o���G�[�V�����h��iProtected Variations�j | �V�X�e���A�T�u�V�X�e���A�I�u�W�F�N�g�Ȃǂ̗v�f�ɂ�����s����ӏ���o���G�[�V�����̉e�����A�ق��̗v�f�Ɉ��e�����y�ڂ��Ȃ��悤�ɂ���ɂ́A�ǂ̂悤�ɂ���悢�� | ���肵�Ă�����ƁA�s����Ȍ��܂��̓o���G�[�V�����̐ړ_�������āA���̐ړ_�̎��ӂɈ��肵���C���^�[�t�F�C�X���쐬�����悤�ɂ���B�����ł̃C���^�[�t�F�C�X�͍L���Ӗ��ł̃C���^�[�t�F�C�X���w���A����̌��ꂪ�p�ӂ���^�Ƃ��ẴC���^�[�t�F�C�X�������w�����̂ł͂Ȃ� |
9��GRASP�p�^�[�� |
���ÏW�x�ƌ����x
�@GRASP�p�^�[���̊j�ƂȂ�T�O�́A�ÏW�x�iCohesion�j�ƌ����x�iCoupling�j�ł���B�I�u�W�F�N�g�w���̗D�ꂽ�v�́A�u�ÏW�x�������A�����x���Ⴂ�v�ƕ\������邱�Ƃ������B
�@�ÏW�x�Ƃ́A�X�̕��i���̋@�\�I�Ȍ��ѕt���̎ړx�ł���B�Ⴆ��1�̕��i���A�݂��Ɋ֘A�̂���@�\�����ō\������Ă���A�ÏW�x�������Ȃ�A���i����������Ӑ}�����m�ɂȂ�B�t�Ɋ֘A�̂Ȃ��@�\�̊W�߂ŕ��i���\������Ă���A�������ɂ����A�v���̕ύX�ɂ��Ώ����Â炢���̂ƂȂ�B
�@�����x�Ƃ́A�X�̕��i�Ԃł̌��ѕt���̎ړx�ł���B�����ł̌��ѕt���Ƃ́A���i�Ԃ̕����I�A�Ӗ��I�Ȋ֘A�̂��Ƃł���B�Ⴆ��2�̕��i�������֘A�������Ă���ƁA�����x�͍����Ȃ�A�Е���ύX������̉e���������ɂ��y�сA������ύX����������Ȃ��Ȃ�B�����ŁA�\�t�g�E�F�A���\�����镔�i�́A�݂��ɒႢ�����x�Ŋ֘A�������Ă��邱�Ƃ��]�܂����Ƃ����̂ł���B
�@�ÏW�x�ƌ����x�́A���V �͎��ɂ�鏑�Ёw�I�u�W�F�N�g�w���łȂ�����̂��x�̒��ŁA�ȉ��̂悤�Ɏ��ɕ�����₷����������Ă���B
���������\��������Ȃ�A�X�̕��i�̂܂Ƃ܂�́u�M���b�v�Ƌ������A���i�ƕ��i�̊Ԃ̂��Ƃ�́u�A�b�T���v�Ǝキ����A�ƌ�����ł��傤�B�悻�҂͔r�����Đg���̌������ł߁A�ߏ��Â������͂ł�����菭�Ȃ�����C���[�W�Ɗo���Ă�������������܂���B |
�@GRASP�p�^�[���ł́A�����̊T�O���u���ÏW���iHigh Cohesion�j�p�^�[���v����сu�a�������iLow Coupling�j�p�^�[���v�Ƃ��āA����������Ă���B����2�̃p�^�[���͂ق���GRASP�p�^�[���̍���ɂ��Ȃ��Ă���B�Ⴆ�u���G�L�X�p�[�g�E�p�^�[���v�Ɋ�Â��Đv���ꂽ�N���X�Q�́A���ꂼ��̃N���X�ɕK�v�ȏ�W���̂ŁA�u���ÏW���v���x�������B�܂��A�I�u�W�F�N�g�����g�̏��݂̂��g�p����悢�̂ŁA�ق��̃I�u�W�F�N�g�Ƃ̊֘A�����Ⴍ�Ȃ�A�u�a�������v���x�������B
�@GRASP�p�^�[�����w�j�Ƃ���ꍇ�̒��ӓ_�������Ă������B�N���X�ɐӔC�����蓖�Ă�ꍇ�ɂ́AGRASP�p�^�[���̊e�p�^�[����P�̂Ŏw�j�Ƃ���̂ł͂Ȃ��A�����̎��_����l������K�v������B�Ȃ��Ȃ�AGRASP�p�^�[���̊e�p�^�[���́A�I�u�W�F�N�g�w���v�]���p�̃p�^�[���ł���A�ق��̃p�^�[���ƕ��p���ĕ]�����ׂ����̂ł��邽�߂��B�܂�A1�̃p�^�[���̏��������Ă����Ƃ��Ă��A�ق��̃p�^�[���̏��������Ă��Ȃ��Ƃ����ꍇ���N���蓾��̂ł���B
�@�Ⴆ�A�G���e�B�e�B�E�N���X���f�[�^�x�[�X�ɉi��������K�v������ꍇ�ɁA�u���G�L�X�p�[�g�E�p�^�[���v�ɂ̂݊�Â��A�G���e�B�e�B�E�N���X�ɒ��ڃf�[�^�A�N�Z�X�E���W�b�N���L�q���Ă��܂����ƂɂȂ邾�낤�B���̂悤�ȏꍇ�ɂ́A�u���ÏW���p�^�[���v��u�a�������p�^�[���v�̏��������u�����ˋp�^�[���v�̓K�p���l���邱�ƂŁA�r�W�l�X�E���W�b�N�ƃf�[�^�A�N�Z�X�E���W�b�N���������ꂽ�A�ǂ��v�ւƓ������Ƃ��ł���̂ł���i�G���e�B�e�B�E�N���X��r�W�l�X�E���W�b�N�A�f�[�^�A�N�Z�X�E���W�b�N�Ȃǂ̕����ɂ��ẮA�u�A�ځF�A�v���P�[�V�����E�A�[�L�e�N�`���v�����v���Q�l�ɂȂ�j�B
��
�@����́A�f�U�C���p�^�[���Ƃ͂ǂ̂悤�Ȃ��̂��Ƃ����l�@�ƁA�f�U�C���p�^�[�����K�����邽�߂ɕK�v�ȃI�u�W�F�N�g�w���v�̊�{�ƂȂ�ӔC�̊��蓖�ĂƁA�����]������p�^�[���Ƃ��Ă�GRASP�p�^�[�����Љ���B
�@����́A���t�@�N�^�����O����f�U�C���p�^�[�������@���A��̓I�ȃR�[�h�𒆐S�ɐ������Ă����\�肾�B
�@INDEX | ||
�@ | .NET�Ŏn�߂�f�U�C���p�^�[�� | |
�@ | ��2�� ���܂��f�U�C���p�^�[�����g�����߂̐S�� | |
�@ | 1�D�f�U�C���p�^�[���Ƃ͉��� | |
2�D�f�U�C���p�^�[���K���ɕK�v�ȃI�u�W�F�N�g�w���v�̊�{ | ||
�@�u.NET�Ŏn�߂�f�U�C���p�^�[���v |
- ��2��@�Ȍ��ȃR�[�f�B���O�̂��߂� �i2017/7/26�j
�@�����_���ŋL�q�ł��郁���o�̑����Athrow���Aout�ϐ��A�^�v���ȂǁAC# 7�ɂ͈ȑO�����R�[�h���Ȍ��ɋL�q�ł���悤�ȋ@�\����������Ă��� - ��1��@Visual Studio Code�f�o�b�O�̊�b�m�� �i2017/7/21�j
�@Node.js�v���O�������f�o�b�O���Ȃ���AVisual Studio Code�ɓ�������Ă���f�o�b�O�@�\�̊�{�́u�L�v���}�X�^�[���悤 - ��1��@���ĂȃR�[�f�B���O�̂��߂� �i2017/7/19�j
�@C# 7�Œlj����ꂽ�V�@�\�̒�����A�u���l���e�����\���̉��P�v�Ɓu���[�J�����v���Љ��B�����͕�����₷���R�[�h���L�q����̂Ɏg���� - Presentation Translator �i2017/7/18�j
�@Presentation Translator��PowerPoint�p�̃A�h�C���B�v���[���e�[�V�������̎����̕t����A������ł̎��^�����A�X���C�h�̖|����s����
|
|