C#编写基于规则的规则维护

问题描述

现在要求用C#实现一个维护规则的类库或者程序什么的。具体描述如下:例如:输入小写字母转化为大写字母,数字转化为ASCII码,这是规则一输入字符串As35B会出现AS5153B以i为分隔符,转化为数组,以+为运算符计算和,这是规则二,输入1+1i3,输出结果{2,3}现在我要实现维护或者定义规则的类库或者一段程序该怎么实现?请大神给点思路或者相关算法,谢谢

解决方案

解决方案二:
规则你都有,写个方法接收一个输入参数,然后按规则处理输入对象。
解决方案三:
stringfoo(strings){if(s.Contains("i"))returns.Split(newstring[]{"i"}).Select(x=>DataTable.Compute(x));elsereturnstring.Concat(s.Select(x=>x>='0'&&x<='9'?((char)(x-'0')).ToString():x.ToString().ToUpper()));}
解决方案四:
该回复于2014-12-03 23:58:37被版主删除
解决方案五:
我现在要做的是形如一个后台,可以定义规则,前台输入字符串,根据定义的规则输出结果
解决方案六:
转换为大写简单strings="abc";s=s.ToUpper();数字转ASCII码也简单,循环判断一下每个字符是数字就转ASCII呗问题是你后面的规则跟前面的冲突啊i到底要不要转换为大写?如果转换成大写,就不存在小写的i了
解决方案七:
这就是2个规则例子啊,只是用其中一个规则来输出,我现在要做的就是实现一个功能,可以增加第三个,第四个规则,使用其中一个来针对字符串做处理,然后输出
解决方案八:
那么规则2其实也简单先split('i'),变成string数组然后循环数组,再split('+'),判断如果长度>1,循环一下每组转int型相加再tostring最后把整个字符串用,拼接
解决方案:
求大神给相关思路,或者一些类似的相关链接,形如后台增加规则,前台根据定义的规则来处理字符串
解决方案:
引用6楼chengxuduan的回复:

这就是2个规则例子啊,只是用其中一个规则来输出,我现在要做的就是实现一个功能,可以增加第三个,第四个规则,使用其中一个来针对字符串做处理,然后输出

你要收集所有的规则,然后根据规则写程序实现功能。不管你是怎么做,即使是代码动态编译,也要把规则转换成算法写成代码才能编译吧。
解决方案:
我现在主要的问题不是实现那两个规则例子,而是怎么样对规则维护,例如增加一个规则:输入A然后出现一张图片。现在的问题是怎么样可以实现增加这个规则,然后才是实现这个规则
解决方案:
引用9楼mjp1234airen4385的回复:

Quote: 引用6楼chengxuduan的回复:
这就是2个规则例子啊,只是用其中一个规则来输出,我现在要做的就是实现一个功能,可以增加第三个,第四个规则,使用其中一个来针对字符串做处理,然后输出

你要收集所有的规则,然后根据规则写程序实现功能。不管你是怎么做,即使是代码动态编译,也要把规则转换成算法写成代码才能编译吧。

恩是的,不是收集,而是自定义,然后后台实现算法!只是处理的对象是字符串,
解决方案:
如果只是2个规则用2楼的就行了。如果还有其他规则,可以先理顺下规则,然后用策略+装饰的模式来实现。

时间: 2024-12-02 09:12:00

C#编写基于规则的规则维护的相关文章

Sudoku迷宫的混合方法:将规则应用程序部署到云中

在本专栏中,我将重点介绍如何在云上执行该规则应用程序.Web 应用程序能够利用将要部署到公共云中的规则引擎吗?如果能,我们将使用哪些规则集成模式?我们将部署哪些 ODM 组件?我们可期待获得怎样的执行性能水平?哪些挑战在等着我们?这些是本专栏希望为两个广泛使用的云产品回答的问题:Google App Engine 和 Amazon Web Services. 本专栏描述一个个人的发现之旅,集成了两种领先的技术:云计算和业务规则管理系统.这两种技术都能迎合不可阻挡的变化力量:基础架构需求的变化和决

使用Drools规则引擎实现业务逻辑

简介:使用规则引擎可以通过降低实现复杂业务逻辑的组件的复杂性,降低应用程序的维护和可扩展 性成本.这篇更新的文章展示如何使用开源的 Drools规则引擎让 Java 应用程序更适应变化. Drools 项目引入了一个新的本地规则表达式语言和一个 Eclipse 插件,使Drools 比以前更容易使用. 要求施加在当今软件产品上的大多数复杂性是行为和功能方面的,从而导致组件实现具有复杂的业务 逻辑.实现 J2EE 或 J2SE 应用程序中业务逻辑最常见的方法是编写 Java 代码来实现需求文档的规

小明历险记:规则引擎drools教程一

小明是一家互联网公司的软件工程师,他们公司为了吸引新用户经常会搞活动,小明常常为了做活动加班加点很烦躁,这不今天呀又来了一个活动需求,我们大家一起帮他看看. 小明的烦恼 活动规则是根据用户购买订单的金额给用户送相应的积分,购买的越多送的积分越多,用户可以使用积分来兑换相应的商品,我们这次活动的力度很大,肯定会吸引很多的用户参加,产品经理小王兴高采烈唾液横飞的对小明讲到.小明心想,又tm来这套,这次需求又要变更多少次呢?表面上还的配合,说赶紧把规则给我们吧,早点开发早点上线,小王说这次需求老简单啦

CSS教程:编写易于管理的css

越来越多的大型网站开始关注.使用css,对于管理多个复杂css文件显然是有异议的.下面是二系列内容中的第一部分,第一部分我们关注对于管理样式的观点,并在其基础上总结出可行的方案.第二部分我们将对以上结论进行对比.强大的css技术最近几年已经被广泛推广了.感谢Wired redesign(以及后来的high profile redesigns-,更多组织)和CSS Zen Garden(禅意花园).除此之外,有越来越多的设计师加强了对于css的学习,并通过学习让工作更容易.简单,或者他们本身就是?

数据库设计规范:SQL编写规范

SQL编写规范 1. 基本SQL编写规范 (1)规则1:SQL中直接使用表名,不使用schema作为前缀,跨schema访问需要创建synonym(数据仓库,CRM数据库不适用). (2)规则2:必须使用绑定变量, 避免常量的直接引用. 说明:频繁的硬解析会影响数据库性能. (3)规则3:避免在where子句中对索引字段施加函数,这样将导致索引失效. 示例: 错误的写法: select  employee_id, first_name  from  employee  where  to_cha

抽取非基本验证到规则文件:A2D规则引擎

基本验证与业务验证,基本验证就是始终保持不变的验证规则,可以通过如下硬编码实现: public class Order { [Required] [Range(typeof(decimal), "1", "10000")] public decimal Price { get; set; } [Required] [StringLength(30)] public string Customer { get; set; } [Required(AllowEmptyS

在SOA中实现业务规则和业务流程

使用面向服务的体系结架构(SOA)的其中一大动力在于提升企业的敏捷度,并将不可避免的改变所带来的影响减到最小.这一般通过把经常改变和相当稳定的实现工件进行分离来完成.支持这种分离的常用方法是分解(decomposition)和封装(encapsulation).SOA的分解导致服务的定义代表更稳定的工件,而业务流程则代表更经常变化的工件1.在一个典型的SOA实现中,服务不会经常改变,但是非常经常地被组合和重组来构建/修改企业的解决方案. 这种分解不会直接标明业务规则的位置--整体IT实现中另一个

在 IBM Operational Decision Management 中实现高级规则治理

引言 本文将介绍高级治理解决方案的 IBM ODM 治理框架.本文基于可配置的 Java 业务逻辑(如 规则治理产品示例所示)提供了常用规则治理实现的一个灵活替代方案.我们将展示,使用规则(而不使用 Java)治理更改流程可在 ODM 中提高高级治理的能效和灵活性. 对于更改活动的治理,我们建议您查 看一下ODM V8.5 中新增的治理功能. 规则治理示例 产品示例中提供的治理扩展的架构如 图 1 所示.本示例的核心是会话控制器,它根据状态提供访问权限.决策中心提供了一个自定义会话控制器,名为

在智能交通系统中基于Drools BRMS实现业务规则动态管理

简介:本文介绍了智能交通系统中的一个典型业务场景,并展现了如何通过 Drools BRMS 实现该业务 规则的动态管理. 引言 业务规则管理系统(BRMS)在电信,银行和政府等各行业中广泛使用,用来支持业务规则的编辑,管 理和部署,以适应业务的快速变化.Drools 是一款基于 Java 的开源产品,包括业务规则执行引擎和业 务规则管理系统.本文首先介绍了业务规则引擎和业务规则管理系统的基本概念和体系结构,然后介绍一 个智能交通系统中的典型业务场景,最后展现如何通过使用 Drools BRMS