سؤال

وأنا باستخدام التشفير على مستوى التطبيق لحماية البيانات الحساسة. ولست بحاجة لتشفير الحقل قبل أن تخزينها في قاعدة البيانات الفعلية وأنا بحاجة إلى فك تشفيرها قبل أن تظهر على واجهة المستخدم.

وأنا تطبيق نمط مستودع في التطبيق.

هل لتشفير البيانات / رمز فك التشفير تنتمي داخل أو خارج الصف مستودع؟

وأفكاري الحالية هي أنه عندما تكون البيانات في بقية، والتشفير هو جانب من جوانب المستودع والطبقة الخدمة باستخدام مستودع لا ينبغي أن يكون تشوش مع هذا رمز التشفير.

والطبقة الخدمة هي المسؤولة عن التحقق من صحة ومنطق الأعمال، ولكن خوارزمية التشفير وكيف يتم تخزين البيانات في الباقي هو متابعة تنفيذ مستودع.

هل هذه الممارسة معقولة أو أنا في عداد المفقودين شيء؟

هل كانت مفيدة؟

المحلول

وأنت بالتأكيد لا تريد التشفير في فئة الخدمة.

في بعض المعنى، كنت في الواقع الإجابة على السؤال الخاص بك عندما تقول

<اقتباس فقرة>   

ولكن خوارزمية التشفير وكيف يتم تخزين البيانات في الباقي هو متابعة تنفيذ مستودع.

ومنذ التشفير هو جزء من كيفية تخزين البيانات، وينتمي داخل المستودع.

نصائح أخرى

وأود أن وضعها في طبقة الخدمة. هنا لماذا:

والنظر اليها من منظور متطلبات قاعدة العمل / المجال، يتم تشفير البيانات شرط؟ يجب التحقق من صحة ذلك مع الاختبارات؟ إذا كان الأمر كذلك، يجب وضعه في نفس المكان الذي وضعت كل من ك منطق الأعمال قابلة للاختبار الآخرين. وبعبارة أخرى، في الخدمة.

وبقدر ما انا قلق، منطق الأعمال (ما لتشفير، ما لم يكن لتشفير) لا تنتمي في المخزون. يجب أن تكون الكائنات التي سيتم استمر على استعداد للاستمرار (أو في أقرب وقت ممكن) عندما تعطى إلى المخزون. خلاف ذلك، ومستودع هو المسؤول عن استمرار <م> و تنفيذ قواعد العمل، وبعد ذلك كنت لم تعد حقا باستخدام نمط المستودع أي أكثر من ذلك ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top