シンプルが最後の言葉で、物事、より多くの牛のXのもの、シンプルな魚より成熟した、Appleの携帯電話、少ないボタン、アップルipadいくつかのボタン、さらにはアップルのノートパソコンのキーボードは小型の行あり、汎用権利管理システムコンポーネントではありません複雑な場合には、しかし、問題は、それに非常にわずかなコードをしても、コードを記述することなく、簡単な質問にどのようなシステムでの彼の統合を簡素化、または書き込むことがより複雑である繰り返しを簡素化します開発は、完全な再利用の労働は、私たちの究極の目標です。
まず、私たちの目標
1:複数のビジネスシステムは、その上に管理の背景を統一することができます。
2:別のビジネスシステムのデータベースの様々な、その上に統一された管理システムと背景。
3:単純または複雑なアクセス許可の管理要件かどうか、その上にバックグラウンド管理ですべて。
4:本土、台湾、関連する、日本、米国のビジネスシステム、すべてその上に背景管理しているかどうか。
5:かどうかB \ SまたはC \ S、及びその上に背景管理システムを持つすべての。
6:それは、医療、政府、企業、すべてのそれの背景管理システムであるかどうか、個人またはスタートアップ企業や上場企業かどうか。
第二に、元の販売人
1:システムアーキテクチャへのあなたの能力を向上させたい、開発者は高い給料を求めています。
2:ポータル愛好家を学んで、私は比較的に正式および中規模のソフトウェアプロジェクトは、ソフトウェアプロジェクトのシステムの完全なセットであることを学びたいか見てみたかったです。
3:将来的には、プロジェクトをしたい、ビジネス、または独自のソフトウェア・プロジェクトに着手しようとするには、自分自身を行使したいです。
4:ソフトウェア開発プロジェクトより、標準化された管理に、プロジェクトの数は、集中と統一された管理されたいです。
5:お客様の様々な業務システムとより実用的な、そしてより多くの子供の雑多な、統一された標準化された管理をしたいです。
6:一般的な開発モデルの正式なトレーニングセットを実施するのが面倒すぎて内部の移動度は、直接著作権管理が少し面倒することができ真似します。
第三に、許可システム統合:データベースを変更しないでください
1:許可制度は、あらゆるビジネスシステムに関連付けられていない独自の個別のデータベースを持って、彼のアイデアはどのようなシステムが少なくとも2つのライブラリー設計に分けられ、1つのビジネスデータベース、権限データベースは、お互いにお互いにない影響を与えないということです干渉は、二人は比較的独立しています。
2:データベース・パーミッション・システムのいずれかで、独立して展開することができ、ビジネスデータベースマージ上に配置することができ、それは必ずしも100%の点二つのデータベースではない、我々は提唱は、二つのデータベースに分割されています。
3:だから、他の人のシステムが統合される必要がありますが、プラグ権限データベースの量、または彼らが好き大きな変更を加えることなく、既存の業務システムのデータベース権限をインポートします。
第四に、権限のシステム統合:ほとんどのコードを書きません
1:各フォームの許可制度は、独立性を呼び出すことができます。
2:権限システムは、ソースコードを直接呼び出すことができ、オープンソースを支払っています。
3:権限システムのDLL、3つしか限り、その上で自分のプロジェクトを参照する、非常に簡単にコール。
4:設定ファイルをコピーする必要がある、それを少し変更してください。
5:ユニバーサル著作権管理システムコンポーネント、あなたはほぼ100非常に汎用性の良いテストを開発するのに役立ち、ビジネスロジックは、情報管理システムの一般的なフォームとは何の関係もありません、これは開発時間の数ヶ月を節約するために十分であってもよいが、繰り返し使用コードの、難攻不落の堅牢な品質、一度、すべての問題を解決します。
V. 権限システムの統合:最も簡単なサンプルコード統合許可システムコンポーネント
1:次のような効果がある実行します(ほとんどのコードの統合13個のファンクションポイント、システムログイン、ユーザー管理、ロール管理、ユーザー権限、役割、権限、アクセス状況、メッセージ管理、組織、モジュールメニュー、スタッフ管理、オプションの管理、文書を書きません管理)。
2:統合参照コードは、以下、注意がもはやコードの10行よりも、除去されません。
// All Rights Reserved , Copyright (C) 2011 , Hairihan TECH, Ltd.
// --------------------------------------------------------------------
using System;
using System.Windows.Forms;
namespace DotNet.Example
{
using DotNet.Utilities;
using DotNet.WinForm;
/// <summary>
/// FrmCallPermission.cs
/// 权限接口演示
///
/// 修改记录
///
/// 2012.03.25 版本:1.0 JiRiGaLa 创建。
///
/// 版本:1.0
///
/// <author>
/// <name> JiRiGaLa </name>
/// <date> 2012.03.25 </date>
/// </author>
/// </summary>
public partial class FrmCallPermission : Form
{
public FrmCallPermission()
{
InitializeComponent();
}
private void SetControlState()
{
// 用户登录了系统,才可以用这些按钮。
this.btnFrmUserAdmin.Enabled = BaseSystemInfo.UserIsLogOn;
this.btnFrmRoleAdmin.Enabled = BaseSystemInfo.UserIsLogOn;
this.btnFrmUserPermissionAdmin.Enabled = BaseSystemInfo.UserIsLogOn;
this.btnFrmRolePermissionAdmin.Enabled = BaseSystemInfo.UserIsLogOn;
this.btnFrmOrganizeAdmin.Enabled = BaseSystemInfo.UserIsLogOn;
this.btnFrmModuleAdmin.Enabled = BaseSystemInfo.UserIsLogOn;
this.btnFrmPermissionItemAdmin.Enabled = BaseSystemInfo.UserIsLogOn;
this.btnFrmStaffAdmin.Enabled = BaseSystemInfo.UserIsLogOn;
this.btnFrmLogGeneral.Enabled = BaseSystemInfo.UserIsLogOn;
this.btnFrmItemsAdmin.Enabled = BaseSystemInfo.UserIsLogOn;
this.btnFrmFileAdmin.Enabled = BaseSystemInfo.UserIsLogOn;
this.btnFrmMessage.Enabled = BaseSystemInfo.UserIsLogOn;
}
private void button_Click( object sender, EventArgs e)
{
// 目标的命名空间
string assemblyName = " DotNet.WinForm ";
// 目标窗体的名字,其实就是按钮的名字去掉前缀btn
string formName = ((Button)sender).Name.Substring( 3);
// 通过反射调用相应的窗体
AssemblyType = CacheManager.Instance.GetTypeタイプ(のAssemblyName、formNameフォーム);
フォーム=フォーム(フォーム)Activator.CreateInstance(assemblyType);
Form.ShowDialog();
// すでにログインしている場合、あなたは、関連するボタンが有効に設定されている必要があります 。この。 SetControlState(); } } }
ます。https://my.oschina.net/iwenr/blog/227977で再現