.NET�J���Ғ��S ���I�u���O�L�� MVVM�p�^�[���̏펯 �\ �uM�v�uV�v�uVM�v�̖����Ƃ́H ���� �둥2011/05/18 |
|
|
��Model
�@Model�́AC#�Ȃǂ̔ėp�v���O���~���O����ŋL�q����A�h���C���E���W�b�N�ƃf�[�^�A�܂�̓r�W�l�X�E���W�b�N�ƃr�W�l�X�E�h���C���̃X�e�[�g�������܂��B
��Model�ɂ��Ă悭������ �\ �X�e�[�g���X�A�T�[�o����Model�A�i�����w�Ȃ�
�@Web�V�X�e���ł悭�̗p�����3�w�\���ɂ�����f�[�^�E�A�N�Z�X�w��r�W�l�X�E���W�b�N�w�̏펯���AMVVM�p�^�[����Model�Ɏ������ނ̂͂�߂܂��傤�BWPF�^Silverlight�Ȃǂ̃��b�`�E�N���C�A���g���E��Model�́AWeb�V�X�e���̂���Ƃ͌���I�ɈႢ�܂��B����I�ɈႤ�̂́A����̓X�e�[�g�t���ł��邱�Ƃł��B
�@������Web�V�X�e���̃r�W�l�X�E���W�b�N�w��f�[�^�E�A�N�Z�X�w���̂́A��{�I�ɃX�e�[�g�������܂���B�Ȃ��Ȃ�Web�V�X�e���́A���N�G�X�g���ƂɃ��X�|���X��Ԃ��̂����ׂĂ̏����̊�{�ƂȂ��Ă��邩��ł��B���N�G�X�g���āA���̃��N�G�X�g����܂ł̊ԂɁA�ێ����Ă����Ȃ���Ȃ�Ȃ����͊�{�I�ɂ���܂���B
�@������MVVM�p�^�[���ł�Model�̓X�e�[�g�t���ł��B���b�`�E�N���C�A���g�͊�{�I�ɏ�Ԃ������̂�����ł��B����Model���X�e�[�g���X���Ƃ�����A�ǂ��Ȃ�ł��傤���H �r�W�l�X�E�h���C���̃X�e�[�g�͂ǂ������̂ł��傤���H ViewModel�����̂ł��傤���H �������������ꍇ�AMVVM�p�^�[���̖{���̖ړI�ł���u�h���C���E���W�b�N�ƃv���[���e�[�V�����E���W�b�N�̕����v�͂��Ȃ�Ȃ��Ȃ�ł��傤�B����Ȏ����ł́A����MVVM�p�^�[�����ǂ��ł���������牽�̈Ӌ`�����ݎ��Ȃ��Ȃ��Ă��܂��܂��B����̓A���`�p�^�[���ł��B
�@�܂��A�uModel���T�[�o���ƌ��Ȃ��v�Ƃ����b�����т��ь������܂��B�u�N���C�A���g����ViewModel����v�Ƃ������b�ł��B�ł̓N���C�A���g���Ƀr�W�l�X�E�h���C���̃X�e�[�g�Ǘ��͊܂܂�Ȃ��̂ł��傤���H ��{�I�ɏ�Ԃ������b�`�E�N���C�A���g�ł���Ȑv�����蓾��̂ł��傤���H�B
�@����͂�͂�A���`�p�^�[���Ȃ̂ł��B�T�[�o���ɉ������낤�ƁA��{�I�Ƀ��b�`�E�N���C�A���g���ɂ��r�W�l�X�E�h���C���̏��͑��݂���͂��ł��B�A�v���P�[�V�������ʐM����T�[�o��A�O���T�[�r�X��Model�ƌ��Ȃ��̂͂�߂܂��傤�B�N���C�A���g���ɂ�������Model�w�����܂��傤�B
�@�����AModel�w��WCF RIA�T�[�r�X�Ȃǂ�������x��ւ��Ă���邱�Ƃ�����悤�ł��B����������͂����܂ł��AWCF RIA�T�[�r�X��Model�̑�ւ����Ă����킯�ł����āAModel�w���N���C�A���g���ɑ��݂��Ȃ��킯�ł͂Ȃ��̂ł��BWCF RIA�T�[�r�X���g�p���Ă��Ă��A����Ƃ͕ʂɁA�r�W�l�X�E�h���C���ɑ���������Ǘ�������A�r�W�l�X�E���W�b�N��u�����肷��ꍇ�́AWCF RIA�T�[�r�X���������Ă����v���L�V�w�����b�v����`��Model�w��u���̂��K�ł��B
�@�uModel�����w���ɕ�����v�Ƃ����b�������܂��B����Ȃ̑��̏ꍇ�A������O�ł��BModel�����w�ɕ��������āA�����Model�ɂ͕ς�肠��܂���B����MVVM�p�^�[�������E���Ă�����̂ł͂���܂���B
�@�ǂ����ŁA�uMVVM�p�^�[���ɂ́AModel�ƕʂɉi�����w��݂���ׂ����v�Ƃ����c�_�����܂������A�����l������̂ł͂���܂���B�i�������@�\�v���ł���Ȃ�AModel���̂ǂ����ɒu���悢�̂ł��B�Ⴆ��Window Phone 7��ł�Silverlight�A�v���P�[�V�����ŁA�u�v���ɂ�炸ViewModel�ɉi�����w���K�v���v�Ǝv�����̂Ȃ�AWindows Phone 7�pMVVM�p�^�[���E�C���t���X�g���N�`���Ƃ��ėp�ӂ���悢�̂ł��B�v���ɂ��Ȃ��@�\�̓C���t���X�g���N�`���Ƃ��ėp�ӂ����̂��K�ł��B���������l��������Ȃ��ƁA�uView��ViewModel�̊ԂɃf�[�^�E�o�C���f�B���O�w������v�ȂǂƂ����b�ɂȂ��Ă��܂��܂��B
��Model�̎��ׂ�����
�@��ŏq�ׂ��悤�ɁAModel�̓X�e�[�g�t���ł���ׂ��ł��BModel���X�e�[�g�t���ł���AModel����̌��ʂ�Model�̃X�e�[�g�̃v���p�e�B�ύX�Ƃ������ʂ������炷�ꍇ�������܂��BViewModel��Model�@�\����ŌĂяo�����ꍇ���l���Ă݂܂��傤�B���̌��ʂ́uModel�v���p�e�B�̍X�V�v�Ƃ����`�Ȃ̂ł�����AModel�ɕύX�ʒm�@�\���Ȃ���AViewModel�����ʂ��擾���邷�ׂ͂���܂���B
�@�]����Model�͕ύX�ʒm�@�\�������܂��BViewModel�Ɠ����悤�ɁAINotifyPropertyChanged�C���^�[�t�F�C�X�̎����Ƃ��čs���܂��B
�@�܂��AModel�͓��͒l���؋@�\�������܂��B�Ⴆ��RDBMS���g�p���Ă���A�f�[�^�x�[�X�Ɋi�[�\�Ȓl�͎��O�Ɍ��܂��Ă��܂��BUI���Ȃ��Ƃ��i�[�\�Ȓl�͌��܂��Ă��邱�Ƃ������ł��傤�B�������������͒l�̌���Model�ōs���܂��BViewModel�́A��������̂܂�View�ɓ`����悢�̂ł��BIDataErrorInfo�C���^�[�t�F�C�X����������̂ł����A�f���Ɏ�������ƃG���[�\���p������Model�Ɋ܂܂�Ă��܂��܂��B���\�[�X�E�t�@�C�����g�p���āA���\�[�X�E�L�[������Model�̎����Ɋ܂߂�̂𐄏����܂��B
���h���C���E���W�b�N�E�p�^�[��
�@�O�q�̂Ƃ���Model�̓X�e�[�g�t���ł��̂ŁAModel�G���e�B�e�B�̕ύX��ViewModel�ɓ`����K�v������܂��B�����Ă��̕��@�̓C�x���g�ł��B������l�����������ŁAViewModel�����猩����Model�̃C���^�[�t�F�C�X�͂ǂ��������`�ł���ׂ��ł��傤���B�����ăX�e�[�g�t���Ƃ͂����Ă��A���̏���Model�ɕێ����A����Model�Ɏ��ׂ��ł͂Ȃ��̂ł��傤���B
�@�܂��A�uModel���r�W�l�X�E�h���C���ɑ�����̂��ő�̑O��ł���v�Ƃ������Ƃ��v���o���܂��傤�B�܂�Model�̓X�e�[�g�t���Ƃ͌����Ă��AModel�����ׂ����̓r�W�l�X�E�h���C���ɑ�������ŁA�\����p�̏��ł����Ă͂����Ȃ��͂��ł��B���̑O����Ȃ���A��������MVVM�p�^�[���̑O��ł���A�u�v���[���e�[�V�����E���W�b�N�ƃh���C���E���W�b�N�̕����v�͂��Ȃ��܂���B
�@���̖��͓��R�A�ȒP�ɂ͉����ł��܂���B�����āA����́u�ǂ�������UI���쐬����̂��H�v�Ƃ������ƍ������������Ă��܂��B
�@�����ł�����x�́AModel��v���邤���ł̎w�j���~�����͎̂����ł��B������Model�������h���C���E���W�b�N�A���̐v�p�^�[���Ƃ��āwPoEAA�iPatterns of Enterprise Application Architecture�j�x�ɒ���Ă���h���C���E���W�b�N�E�p�^�[�����l���Ă݂܂��傤�B
�@�h���C���E���W�b�N�E�p�^�[���Ƃ��ẮA�傫�����L��2���������܂��B
- �r�W�l�X�E�h���C���Ɛ[���������A�G���e�B�e�B���r�W�l�X�E�h���C���̕��͂����`���A�G���e�B�e�B�ɑ���̐Ӗ������������h���C���E���f���E�p�^�[��
- ���[�X�E�P�[�X�P�ʁA���邢�̓��[�X�E�P�[�X�E�O���[�v�P�ʂŃG���e�B�e�B���A���̃G���e�B�e�B�͕\����ԂƑ傫�������i������j���Ȃ��g�����U�N�V�����V�����E�X�N���v�g�E�p�^�[��
�@�h���C���E���W�b�N�E�p�^�[���Ƃ��ẮA�ق��ɂ��e�[�u���E���W���[���E�p�^�[���Ƃ����̂�����܂����A�Ӌ`�I�ɏ�L��2�̑g�ݍ��킹�����ԓI�ȃp�^�[���ł��̂ŁA�����ł͐G��܂���B
�@�u���{��Web�V�X�e���n�J���ł́A�قƂ�ǂ̏ꍇ�A�g�����U�N�V�����E�X�N���v�g�E�p�^�[�����p������v�ƕ����܂��B���[�X�E�P�[�X�P�ʂɃG���e�B�e�B���X�N���b�`�ō���Ă����Ƃ������Ƃ́A��ʂɕ\��������̂��߂̃G���e�B�e�B���X�N���b�`�ō���Ă������ƂƂقƂ�Ǔ���������ł��B���̃A�v���[�`�͑����̏ꍇ�ŗL�p�ł����A��������������Ă����܂��B
�@�悭����������́A�u�d�����鏈���̋��ʉ����s���ɂ����v�Ƃ��������ł��B�����҂����Ă���̂̓��[�X�E�P�[�X�P�̂ł�����A���R�ق��̃��[�X�E�P�[�X�Ƃ̋��ʏ����ɂ͋C�t���ɂ����Ȃ�܂��B
�@�܂��AMVVM�p�^�[���̃^�[�Q�b�g�ł��郊�b�`�E�N���C�A���g�J���Ƃ������_�Ō����Ƃ��͕ʂ̖��������Ă��܂��B
�@���b�`�E�N���C�A���g��Model���X�e�[�g�t���ł���̂͑O�q�����Ƃ���ł��B������Model�Ƃ����ꕔ���Ɍ��炸�A���b�`�E�N���C�A���g�Ƃ����̂͊�{�I�ɏ�Ԃ������Ă��܂��B���ꂪ�A1��ʁA1��ʁA�g���̂Ă�Web�J���ƁA�ł��قȂ�Ƃ���ł��B
�@���b�`�E�N���C�A���g�̃h���C���E���W�b�N���A�g�����U�N�V�����E�X�N���v�g�E�p�^�[���Ŏ������Ă������Ƃ��܂��傤�B�ێ����Ă���G���e�B�e�B�̏�ԂɕύX�������āA���̕ύX��ʂ̃G���e�B�e�B�ɓ`�������ꍇ�́A�ǂ�����悢�̂ł��傤���H �ύX��ʒm���ꂽ�G���e�B�e�B���������g�̏�Ԃ�ω������Ȃ���Ȃ�Ȃ��Ƃ�����A�ǂ�����悢�̂ł��傤���H ���[�X�E�P�[�X�P�̂����ăG���e�B�e�B��v�E�J�����Ă���̂ŁA�O�q�������ʉ������̖��Ɠ��l�ɁA���łɎ擾�����G���e�B�e�B�Ԃɑ��݂���A�e����^�������W��c�������i������܂���B�g�����U�N�V�����E�X�N���v�g�E�p�^�[���ɂ��h���C���E���W�b�N�̊J���ł́A���̂悤���X�e�[�g�t���ȃG���e�B�e�B�Ԃ̒ʒm�ƑJ�ڂ̊Ǘ�������Ȃ��Ă��܂��܂��B
�@�����炱���̃h���C���E���f���E�p�^�[���Ȃ̂ł��B�h���C���E���f���E�p�^�[���ł́A�r�W�l�X���Ӗ��I�ɕ��͂��A�G���e�B�e�B���`���܂��B�G���e�B�e�B������������Ƃ��d�v�ł��B�G���e�B�e�B������������Ȃ�Web�V�X�e���ɂ�����3�w�̏펯�͎̂Ă܂��傤�BWeb�V�X�e���ŃG���e�B�e�B������������Ƃ��Ȃ��̂́A���̃G���e�B�e�B��1��g���̂Ă�����ł��B�G���e�B�e�B�̏�Ԃ��ω�����ۂɂ́A���̃G���e�B�e�B�͔j������A�V������蒼�����̂����ʂ�����ł��B
�@�����ĈӖ��I�ȕ��͂��琶�܂ꂽModel�́A�C�x���g���g���Ă��݂��ɒʒm�������܂��B���̎�@��ViewModel��Model�̊Ԃł̃G���e�B�e�B�̕ύX�ʒm���@�Ɠ���Ȃ̂ŁA����ł��Ă��܂��B
�@�������C�x���g���g���ăh���C���E���f���Ԃ��ʐM���������Ƃ́A���g����Ԃ������A�ق��̃G���e�B�e�B�Ƃ̊֘A�ɂ���Ď��g�̃X�e�[�g���ω����Ă����`�Ɣ��ɑ������悢�̂ł��B�g�����U�N�V�����E�X�N���v�g�E�p�^�[���Ō����Ă������͂��ׂĉ������܂��B
�@�h���C���E���f���ɑ����Ȃ��Ǝv���鑀��́A�ʓr�A�T�[�r�X�w������đΏ����܂��BWeb�T�[�r�X�Ȃǂ̃X�e�[�g���X�ȃT�[�r�X�w�Ɖ����Ⴄ�̂ł��傤�B�����Web�T�[�r�X�̃T�[�r�X�w�����ׂăT�[�r�X�E���\�b�h�ő��삷��̂ɑ��āA�h���C���E���f���̃T�[�r�X�w�́A�����܂ł��h���C���E���f���Ɋ܂܂�Ȃ����삾�����s���Ƃ���ł��B�h���C���E���f���ɑ��čs���鑀��́A�ɗ́A�h���C���E���f���Ŏ������܂��B�܂�h���C���E���f���E�p�^�[���ł̃T�[�r�X�w�͂��������Ȃ�܂��B�����ăT�[�r�X�w���Ԃ��G���e�B�e�B�́A���[�X�E�P�[�X���瓱�o���ꂽ�g�����U�N�V�����E�X�N���v�g�I�ȃG���e�B�e�B�ō\���܂���B�h���C���E���f���ɑ����Ȃ�����Ȃ̂�����A����ł����̂ł��B���[�X�E�P�[�X���瓱�o���ꂽ�G���e�B�e�B�́A�K�R�I�ɉ�ʍ\���ɋ߂��Ȃ�܂��B
�@���b�`�E�N���C�A���g�����b�`�E�N���C�A���g�炵������Ă������ꍇ�́A�قڕK���G���e�B�e�B�Ԃ̊֘A�ɂ��ύX����������͂��ł��B�h���C���E���f���E�p�^�[���́A�I�u�W�F�N�g���g���ω����Ă����p�^�[���Ƒ������悢�Ƃ���Ă��܂��B�܂��Ƀ��b�`�E�N���C�A���g�ɂ����Ă��̃p�^�[���ł��B
�@�g�����U�N�V�����E�X�N���v�g�E�p�^�[���̓V���v���ł����A���b�`�E�N���C�A���g�ł́A�g�����U�N�V�����E�X�N���v�g�I�ȃp�^�[���݂̂ł͑Ώ�������Ȃ��Ȃ邱�Ƃ��l�����܂��B
�@������ɂ���AModel�̓����͗v���ɍ��킹���v����ł��B���܂�ɂ��h���C���E���f���ɑ�������̂����Ȃ��A�T�[�r�X�w���������Ȃ肻���Ȃ�A�g�����U�N�V�����E�X�N���v�g�ŊJ������̂��悢�ł��傤�B
�@�������A���Ȃ��Ƃ����{�ł킽��������������i������{�ł����J���������ƂȂ��ł����ǁj�A������u�Ɩ��V�X�e���v�Ƃ������ނ̃��b�`�E�N���C�A���g�J���ł́AWeb�V�X�e���̉�ʂ����̂܂܃��b�`�E�N���C�A���g�Ɉڂ��������̂��̂��܂��܂����|�I�ɑ����̂������ł��B�e��ʂōs��ꂽ����̌��ʂ��A���łɕ\������Ă���ق��̉�ʂ̌��ʂɉe�����܂������^���Ȃ������肵�܂��B�v���������������`�ł���Ȃ�A�g�����U�N�V�����E�X�N���v�g�E�p�^�[���ł̎����̕����K�ł���ꍇ�̕��������̂ł��傤�B
�@�������uRIA�i���b�`�E�C���^�[�l�b�g�E�A�v���P�[�V�����j���v�uUX�i���[�U�[�̌��j���v�Ƃ���������AWeb�V�X�e���̐��E�ƈ���āA�����̏�ʂŁA���b�`�E�N���C�A���g�ł̃h���C���E���f���E�p�^�[���̏d�v���͂�荂���Ȃ�ƁA�킽���͊m�M���Ă��܂��B
�@�e�Ӗ��̏ڍׂƍl�����́A����ňȏ�ɂȂ�܂��B
�@�Ō�ɁA�`���ŊȒP�ɏq�ׂ��uMVVM�p�^�[���ɂ��f�U�C�i�[�ƃv���O���}�[�̋��Ɓv�ɂ��Đ������܂��B
�@INDEX | ||
�@ | .NET�J���Ғ��S ���I�u���O�L�� | |
�@ | MVVM�p�^�[���̏펯 �\ �uM�v�uV�v�uVM�v�̖����Ƃ́H | |
�@ | 1�DMVVM�p�^�[���T�v | |
�@ | 2�DView | |
�@ | 3�DViewModel | |
4�DModel | ||
�@ | 5�D�f�U�C�i�[�ƊJ���҂̕��Ɓ^MVVM�p�^�[����K�p�E�J�X�^�}�C�Y����Ƃ��̗��ӓ_ | |
�@�u.NET�J���Ғ��S ���I�u���O�L���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����
|
|
- - PR -